====== GitHub Eclipseによるブランチの操作 ====== --- //[[http://www.y2sunlight.com|y2sunlight]] 2020-06-26 // [[github:top|GitHub に戻る]] 本章は、「[[github:basic|GitHub Eclipseによるリポジトリの基本操作]]」の続編です。今回はEclipseによるGitブランチの操作について説明します。Gitサーバーには GitHub を使用していますが、社内サーバーや他のGitサーバーについてもEclipse側の操作は同じだと思います。 本章の前提は、[[github:basic|前章]]と同じで、[[github:config|GitHubのアカウント]]と以下のクライアント環境が必要です。Gitクライアントには[[git2:client:windows:eclipse|Eclipse]]を使用します。 クライアント環境 * Windows10 Pro * Eclipse 2019-12 Version 4.14 関連記事 * [[github:config|GitHub 環境構築]] * [[github:email|GitHub メールの設定]] * [[github:profile|GitHub プロフィールの設定]] * [[github:basic|GitHub Eclipseによるリポジトリの基本操作]] * GitHub Eclipseによるブランチの操作 * [[github:release|GitHub タグとリリースの作成]] * [[github:collaborator|GitHub コラボレータの招待]] * [[github:publish|GitHub ソースコードの公開]] リンク * https://github.com/ --- GitHubの本家 * [[https://help.github.com/ja/github/collaborating-with-issues-and-pull-requests/creating-and-deleting-branches-within-your-repository|リポジトリ内でブランチを作成および削除する]] --- GitHubヘルプより * [[https://help.github.com/ja/github/administering-a-repository/managing-branches-in-your-repository|リポジトリ内のブランチを管理する]] --- GitHubヘルプより * [[https://qiita.com/shinya_nakashima/items/fab635a3c04858d65c47|Gitのリモート追跡ブランチ・追跡ブランチ・上流ブランチ]] --- ブランチの基礎用語が丁寧に解説してあります(感謝!!) ---- ===== 前提条件 ===== ここでの説明は[[github:basic|前章]]から続いており、EclipseによるGitブランチの操作方法を述べる前に、前提となるリポジトリとブランチの条件を記載しておきます。 Gitサーバ( GitHub )に作成済のリポジトリとブランチは以下の通りです: [{{:github:branch:github-branch01.png?nolink|}}] * リポジトリ:''hello-world'' * ブランチ: * ''master'' --- マスターブランチ * ''readme-edits'' --- README.md編集用のブランチ Gitクライアントは、Eclipseで、プロジェクト名は ''hello-world'' です。Eclipse側のブランチの状態を[Gitリポジトリー]タブで表示すると以下の通りです。[Gitリポジトリ]を表示するには、Eclipse メニューの[ウインドウ][ビューの表示][その他]から[Git][Gitリポジトリー]を選択して下さい。 [{{:github:branch:github-branch02.png?nolink|}}] * リポジトリ:''hello-world'' * ローカル・ブランチ * ''readme-edits'' --- README.md編集用のブランチ * リモート・トラッキング * ''origin/master'' --- マスターブランチ * ''origin/readme-edits'' --- README.md編集用のブランチ Eclipse のローカル・ブランチは ''readme-edits'' だけです。リモート・トラッキングには2つのリポジトリがあり、どちらのリモートリポジトリもフェッチされています(履歴を取得している状態)。
ファイルを編集し終えたらステージングします。
[{{:github:branch:github-branch33.png?nolink|}}]
■ [コメントメッセージ]を入力して[コミット]して下さい。
=== 4.新しいブランチのプッシュ ===
プロジェクト( hello-world )を右クリックして[チーム][ブランチのプッシュ 'hello-edits'...]を選択して下さい。
[{{:github:branch:github-branch34.png?nolink|}}]
■ [宛先]のリモートとブランチはそのままで。\\
■ [プッシュおよびプルのアップストリームを構成する]にチェックを入れます。\\
■ [プレビュー]ボタンを押して下さい。
[{{:github:branch:github-branch35.png?nolink|}}]
■ [プッシュ]ボタンを押して下さい。
[{{:github:branch:github-branch36.png?nolink|}}]
■ [閉じる]ボタンを押して下さい。
=== 5.GitHubでの確認 ===
新しいブランチ( hello-edits )が作成されているか、GitHubで確認してみましょう。
リポジトリ hello-world に移動します。まだ表示していない場合は、ダッシュボードの左サイドバーから hello-world を選択して下さい。
[{{:github:branch:github-branch37.png?nolink|}}]
■ ファイルリストの右上に [4 branches]と表示されていて新しいブランチが増えていることが分かります。\\
■ また、新しくプッシュしたので、上部にも [Compare & pull request]のボタンも表示されています。\\
■ ブランチのプルダウン[Branch:master]をクリックして[hello-edits]を選択して下さい。
[{{:github:branch:github-branch38.png?nolink|}}]
■ Eclipseからプッシュした ''hello.php'' が追加されているのが確認できます。
ここから先は、基本の流れに従い[[github:basic#プルリクエスト|プルリクエスト]]を行って[[github:basic#マージ|マージ]]します。
=== ネットワークグラフ ===
GitHubでは、ブランチの履歴をネットワークグラフで見ることができます。リポジトリ hello-world 画面の[Insights]タブを選択した後、左サイドバーで[Network]を選択します。
[{{:github:branch:github-branch39.png?nolink|}}]
\\
===== Eclipseでマージして、プッシュする =====
前節「[[#Eclipseで新しいブランチ作り、プッシュする]]」とは異なり、本節では、Eclipseで新しいブランチを作り、それを masterブランチにマージしてからプッシュします。結果は前節と同じですが、レビューを経ずに master に直接プッシュします。
ブランチ名: ''hello-edits2''
手順としては
- ''master''ブランチを取得する
- ''master''がローカルに無ければチェックアウトする
- ''master''がローカルに有れば最新をプルする
- ''master''ブランチから''hello-edits2''ブランチを作る
- ''hello-edits2'' で編集する(コミット)
- ''hello-edits2'' を''master''にマージする
- ''master''をプッシュする
=== 1.最新のmasterブランチの取得 ===
masterブランチに切り替えます。まだの時は、プロジェクト( hello-world )を右クリックして[チーム][切り替え][master]を選択して下さい。
> masterブランチをまだチェックアウトしていない場合は、上述の「[[#新しいブランチのチェックアウト]]」を参考にして下さい。
プロジェクト( hello-world )を右クリックして[チーム][プル]を選択します。
[{{:github:branch:github-branch40.png?nolink|}}]
■ [閉じる]ボタンを押して下さい。
=== 2.新しいブランチの作成 ===
プロジェクト( hello-world )を右クリックして[チーム][切り替え][新規ブランチ...]を選択して下さい。
[{{:github:branch:github-branch41.png?nolink|}}]
■ [ブランチ名]に ''hello-edits2'' を入力します。\\
■ [プッシュおよびプルのアップストリームを構成する]は **未チェック** にします。\\
■ [完了]ボタンを押して下さい。\\
■ プロジェクトが hello-edits2 ブランチに切り替わります。
=== 3.新しいブランチでの編集(コミット) ===
ファイル( ''hello.php'' )を編集します。
{{fa>folder-open-o}} ** /hello-world **
ファイルを編集し終えたらステージングした後に、[コミット]します。
=== 4.masterブランチへのマージ ===
マージでは、マージされる方のブランチを表示して作業します。
プロジェクト( hello-world )を右クリックして[チーム][切り替え][master]を選択し、''master'' ブランチへ切り替えます。
[チーム]で[マージ]を選択します。
[{{:github:branch:github-branch42.png?nolink|}}]
■ マージするブランチ ''hello-edits2'' を選択します。\\
■ [マージ]ボタンを押して下さい。
[{{:github:branch:github-branch43.png?nolink|}}]
■ マージが終了しました。\\
■ [閉じる]ボタンを押して下さい。
=== 5.masterへのプッシュ ===
マージしたmasterブランチをアップストリームにプッシュします。
プロジェクト( hello-world )を右クリックして[チーム][アップストリームへブッシュ]を選択します。
[{{:github:branch:github-branch44.png?nolink|}}]
■ プッシュが終了しました。\\
■ [閉じる]ボタンを押して下さい。
=== 6.GitHubでの確認 ===
プッシュされているかGitHubで確認してみましょう。
リポジトリ hello-world に移動します。まだ表示していない場合は、ダッシュボードの左サイドバーから hello-world を選択して下さい。
[{{:github:branch:github-branch45.png?nolink|}}]
■ ファイルリストの右上に [10 commits]と表示されていて新しいコミットが増えているが分かります。\\
■ [10 commits]をクリックして選択して下さい。(数字の10は例です。別の数字かもしれません)
[{{:github:branch:github-branch46.png?nolink|}}]
■ コミット履歴の先頭( ''hello.phpの修正'' )が、前項でmasterに直接プッシュした履歴です。
また、ブランチのネットワークグラフは以下のようになっています:
[{{:github:branch:github-branch47.png?nolink|}}]
masterに直接プッシュしたので、作業用のブランチはなく、masterのブランチの上にコミットの履歴が乗っています。
\\