GitHubとEclipseの連携とかまとめ

今回やること。
GitHub上で適当なリポジトリーを作って、適当にEclipseと連携する。
GitHub上ではmasterブランチの作成だけ行って、Eclipse側で新規ブランチ作ってそれをGitHub上にもPUSHするまでやってます。

##とりあえずGitHub上に適当にリポジトリを作る
![image.png](https://qiita-image-store.s3.amazonaws.com/0/206483/71d3a449-50ef-dbcd-d36d-874901edc61e.png)

##Ecipse側にクローンをつくりつつEclipseのプロジェクトにする
・パッケージエクスプローラー上で右クリック
・インポートでGit→Gitからプロジェクトを選ぶ→そこからさらにクローンURIを選ぶ
で、URIを入れる。https://github.com/アカウント名/gitリポジトリ名.gitみたいな感じ。当然ながらID,パスワードも入れる。だいたいこんな感じ。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/206483/8229779b-3412-6183-2397-0e94bebe7c8e.png)
・その後は適当にウィザードを進める。ブランチ名選ぶ所は今はmasterしか無いと思うのでそれを選ぶ。
・あと、ローカル宛先はディレクトリをワークスペースのパス＋プロジェクト名にする感じで設定
![image.png](https://qiita-image-store.s3.amazonaws.com/0/206483/d77e6516-ada0-4eb2-046d-1198b6da5637.png)
・その後はこんな感じにて、完了を押すとその後は普通のプロジェクト作成ウィザードになるので今回はJavaプロジェクト作っておしまい。詳細は割愛です。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/206483/723fcc82-0b62-5e7c-d677-a10925bf45fc.png)
・出来上がるとこんな感じになります。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/206483/215d7172-3c6e-8eee-0e08-bb52eab38dc9.png)


##Ecipse上でローカルリポジトリに新規ブランチを作って、チェックアウト
今回dev1という新規ブランチを作ります。
自分なりに噛み砕いて書くと、dev1がトピックブランチ相当のつもり。
なので新規である案件の開発が始まった時の皆がこれをクローンしてきて、dev1からさらに各開発者が機能毎のfeature branchesを作り各自で開発。
で、機能開発が終わったら各feature branchesを内容を順次dev1にマージしていくのかなっていくような運用のもとになると思ってます。
チェックアウトはこの作業開始前はローカルのmasterブランチが作業ブランチになっているので、dev1に作業ブランチを切り替えるイメージです。
で、切り替えたあと適当にファイルを作って一旦それをローカルのリポジトリにコミット→その後リモートにpushしてリモートにもdev1リポジトリが存在している（これをほかの人にもクローンしてもらう）という状態をひとまず目指します。

###ブランチを作る
パッケージエクスプローラーから右クリックでこんな感じにしてください。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/206483/718198e1-63ea-cd98-8b5e-09a10fac3c94.png)

ダイアログ出るのでブランチ名を入れる。今回はdev1。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/206483/0ebd3fd5-19ef-6547-689c-2998654c4599.png)

これでもうブランチはできているはず。

##作ったブランチに適当なファイルを作ってローカルリポジトリにコミットする
手順は略しますが、適当にHello.javaってのを普通に作ってます。
で、作り終わったらこんな感じでコミットを選ぶ
![image.png](https://qiita-image-store.s3.amazonaws.com/0/206483/3479d85f-6a8a-a8d0-9417-33188371c6be.png)

コミットを選ぶとGitステージングのパースペクティブがこんなふうになっているはず。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/206483/92d9491d-9e20-7916-f6b4-1bd20c20776b.png)

↑はステージされていない、つまりインデックス（索引）に登録されていない状態なので、インデックスに登録したいファイルを選んで右クリックから索引に追加する。うまく行けば選んだファイルが下図のようにステージされた変更に入る。
ココまで来たらコミットメッセージを入れて右下のコミットボタンを押せばローカルのdev1ブランチにこれらのファイルが登録される。
コミット及びプッシュってやったらひょっとしたら良い感じでリモートへのPUSHまでやってくれるのかもしれないけど今回は慎重に行く。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/206483/7e84595a-84c6-17d4-3ada-a987d5d55deb.png)

##ローカルリポジトリのdev1ブランチをリモートにPUSHする
ココまでだとローカルにはdev1があるがリモートにはないのでPUSHするやり方を書いていく。
Gitリポジトリー上でブランチ→ローカル→dev1を選んで、さらにブランチへプッシュを選ぶ
![image.png](https://qiita-image-store.s3.amazonaws.com/0/206483/3458611a-2c82-f28c-8486-ad6ed0fdf9b6.png)

こんな感じでダイアログが出るリモートのdev1ブランチにプッシュしようとしているのが確認できると思います。確認できたら次へ。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/206483/c358b705-e739-62ee-50b9-e6f021764be3.png)

以降はこんな感じで流れます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/206483/09ab5079-f5ca-43e8-8cef-2760d33e9e45.png)

![image.png](https://qiita-image-store.s3.amazonaws.com/0/206483/d5d289c9-6eb0-a6ca-7434-68df524082ee.png)

成功するとEclipseのGitリポジトリー上でもリモートトラッキングにorigin/dev1ってのが増えるよやったね。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/206483/a07e304f-a817-3916-989e-188215bbe023.png)

念のためGitHub上でも見てみるとdev1ブランチが見えます。やったね。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/206483/260dfa34-dcbb-3ea1-a774-c71920155559.png)