現在こちらのUdemyで学習中です。
(自分で調べた内容を取り入れているので、講座とは違う箇所が複数あります。)

今回はチーム開発で使われるというコマンドや流れをみていきましょう!
リモートリポジトリのプロジェクトをローカルにコピーする
git clone リモートリポジトリのURL
リモートリポジトリのURLは「< > Code」という緑のボタンを押し、HTTPSのURLをコピーしましょう。
ファイル等をコピーするだけではなく、それまでのコミット履歴等全てをローカル環境に持ってくることができます!
ブランチ関連
・今のブランチを確認
git branch
・ブランチを切って切り替え
git checkout -b ブランチ名
ブランチを切りたいだけなら「git branch ブランチ名」で切れます!(切り替えはしない)
・すでに存在するブランチに切り替え
git branch checkout 移動先のブランチ名
・ローカルとリモートのブランチを全て表示
git branch -a
* main <----------ローカルにあるブランチ
remotes/origin/main <----------リモートにあるブランチ
プルリクエスト〜ローカルでのマージまでの流れ
そもそもマージとプルリクエスト(以下、プルリク)は何が違うのでしょうか?
マージはブランチを統合すること、プルリクはGitHubの機能で「別のブランチでこの機能を追加したのでマージしてください!」と依頼を送ることです。
つまりプルリクをした時点ではまだマージはされていません。
プルリクの内容を確認したマージ担当者が最終的にGitHub上でマージします。
ではプルリクからの流れをみていきましょう!
- ローカルで切ったブランチでの開発をGitHub上のプルリクでリモートリポジトリに取り込んでもらうよう依頼する
- マージしてもらう
- マージ先のブランチはリモートとローカルで差分が出るので、ローカルに取り込んでソースコードを合致させる
❶と❷はGitHub上での操作になるので割愛します。参考ブログはこちらです。

では❸についてみていきましょう!
・リモートリポジトリにある差分をローカルリポジトリに取得
git fetch
例えば他の人が切ったブランチがローカルにない場合、新たな情報として「ローカルの中にあるリモートのブランチ」に取り込むことができます。
ローカルの中にあるリモートのブランチとは、mainブランチを例に挙げると「origin/main」という表示になっています。ローカルは「main」とだけ表示されます。
git fetchを実行することでorigin/mainが更新されます。しかしmainは更新されません。
・取得した差分をローカルのブランチに取り込む
git merge 取り込み元のブランチ名
ローカルで取り込み先のブランチに切り替え、上記のコマンドを実行します。
fetchの際の例で言うと、git merge origin/mainを実行するとローカルのmainに差分が取り込まれ、ワーキングツリーのソースコードが更新されます。
fetchとmergeを一気にできるコマンドがgit pullですが、間違った時に戻すコマンドが増えるのでとりあえずはpull覚えずにfetch/mergeを使いましょう。急がば回れ。
まとめ
GitHubでのプルリクとマージの概念や、Gitのpullとfetchの違いなど新たに学習できたことが多かったです。
今までは個人開発で使うばかりでコミットメッセージがどれだけ大切かは理解できていませんでした。
今回まとめるに際して様々なブログを読み漁ってやっと理解できたところなので、転職できたらぜひ活かしたいなと思います。
本日もお読みいただき、ありがとうございました!
コメント