【Git/GitHub】#02 ブランチ、マージ、プルリクエスト

1.概念図  branch、merge、pull requests

main ブランチ   => デフォルトで作られるブランチ
develop ブランチ => 開発反映用

「ブランチ(branch) = 枝分かれ」です。

たとえば、完成したものに、機能追加したい場合に、直接完成したものに反映されたくない場合があります。そういうときに、ブランチをつかうと便利です。

あと、「GitHub」側は出できることは、GitHubでやるほうが、GUI操作できてわかりやすいと思います。

2.ブランチの新規作成(GitHub)

GitHub側でブランチを作成します。

ブランチ名「develop」を入力した後に、「Create branch」のリンクをクリックすることで、ブランチ作成できます。

3.ブランチの切り替え

git clone

git clone https://kurotanx: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@github.com/kurotanx/wp.git ./

git clone https://ユーザー名:個人アクセストークン@github.com/YOUR-USERNAME/YOUR-REPOSITORY ./

前回同様に、まずは、git clone します。

ブランチの切り替え

git branch

現在のブランチの表示

git checkout develop

developブランチに切り替え

4.ブランチに修正を反映

メモ帳やエディターでファイルを修正してください。そのファイルをdevelopブランチに反映させます。

git add -u

修正ファイルを自動で検出して、ステージにadd

git commit -m "修正01"

修正01というコメントをつけて、ローカルリポジトリにコミット

git push origin develop

リモートリポジトリに反映

develop ブランチに反映されてるはずなので、念のためGitHub側してみてくださいね。あと、mainブランチには影響ないことも確認してみてください。

5.プルリクエスト(GitHub)

GitHub側で作業します。

git pushすると、上部のほうに「プルリクエスト」のボタンが表示されると思います。

時間がたつとこの表示が消えますが、「Pull requests」タブの「New pull request」あたりから、プルリクエストが同様に行えます。

修正内容などを書いて、「Compare & pull request」ボタンをクリックすると、プルリクエスト終了です。

6.GitHubでマージ反映

プルリクエストされたあとは、修正をマージするかどうか?を判断して、マージしてOKの場合は、GitHubの機能でマージします。

マージ方法は3種類ありますが、多くの場合は、通常マージ(一番上)を選択でOKだと思います。

マージの種類

・Create a merge commit (通常マージ)
・Squash and merge
・Rebase and merge

仕事で使う場合は、プロジェクト単位にルールが決まってるので、それに従えばよいかと思います。趣味でやってるのなら、通常マージでほぼ問題ないと思います。

マージ後の差分確認

差分確認は、マージ前でも行えます。修正差分がGitHub側で見やすいので、これだけでも、GitHubを使う価値があると思います。

別の方法:プルリクエストを使わないでマージ

GitHubで、プルリクエストを経由して、マージする方法を見てきましたが、そうでない方法もあります。たぶん、こんなやり方をする意味がないとは思うけど、一応書いておきます。

git branch
git checkout develop
git branch

ファイル修正

git add -u
git commit -m "修正02"
git push origin develop

ここまでは、今までと同じです。
これ以降もgitコマンドだけでやります。

これから
mainブランチにマージしていきます

git checkout main
git branch
git merge develop
git push origin main
git pull origin develop
git push origin main

実際やってみて、確認してみてください。

動画での説明

実際に記事通りの手順で動作させてるので、細かい部分もわかるかと思います。反映確認等も行っています。

実際にやってみて、体感で覚えないと、なかなか理解しにくい部分もあるかと思います。

スポンサーリンク

関連記事