1
0

リモート追跡ブランチを知り、Gitへの理解が深まった話

Posted at

開発に入って数ヶ月後、origin/mainってなんやねんと気になって調べ、リモート追跡ブランチを認識しgitが完璧になった気がしました。
リモート追跡ブランチを理解することで、git fetch, git mergeなど他のものの解像度も上がりました。

githubでのコード管理を想定しています。

リモート追跡ブランチとは?

origin/mainはリモートリポジトリoriginのmainブランチを追っている追跡ブランチ。
普段作業しているローカルブランチとは別のもの。

(githubを使っている場合、リモートリポジトリはgithubのリポジトリになります)

上記の記事を読んで、リモート追跡ブランチを認識しました。

その後、git fetch, git mergeが何をしているのかわかるようになりました。

git fetch

git fetch

上記で更新がかかるのはリモート追跡ブランチ

git fetch -p

上記を実行することで、リモート追跡ブランチの更新に加え、リモートリポジトリで削除されたブランチをリモート追跡ブランチ上で削除する。(git fetch -pを実行しないと、リモート追跡ブランチは増え続ける)

git merge

git merge origin/main

現在のブランチにリモート追跡ブランチのorigin/mainをマージ

リモート追跡ブランチをローカルに作成

git checkout -t origin/xxxxx

リモート追跡ブランチorigin/xxxxxをローカルに作成してそのブランチが現在のブランチになります。(git branchを打つと現在のブランチがxxxxx)

他のメンバーがaaaaaブランチをpushした際、そのブランチをローカルに持ってきたいとき、git fetchでリモート追跡ブランチを更新してから、git checkout -t origin/aaaaaを実行してローカルの作業中のブランチをaaaaaブランチに変更できます。

まとめ

リモート追跡ブランチについて理解したことで、fetch, merge chekcout -t などのコマンドに関する理解が深まりました。

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0