17
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【git】開発ブランチのマージ時に使うコマンド(fetch, --prune, merge)についてのまとめ

Last updated at Posted at 2021-01-26

私は現在、オンラインプログラミングスクール「やんばるエキスパート」で、4人チームで共同開発を行っています。

開発現状

ブランチは開発用のdevelopブランチをメインとしており、自分で作業する時は、developブランチから新しい作業ブランチを切って作業しています(ここでは仮に feature/hoge_fuga とします)。そして、コンフリクトの解消時の注意点として、現在の開発ブランチにマージする手順をスクールの教材では、

git branch で作業ブランチにいることを確認後
git fetch --prune
git merge origin/develop

を行うように記載されており、「fetchってなに?」「--pruneってなに?」「merge origin/developって何で行うの?」と疑問になったので、自分で調べてまとめてみました。

git fetch --pruneとは?

git fetch

が、リモートリポジトリから最新情報を取ってくるコマンドで、--pruneオプションをつけることで、自動的にリモートリポジトリで消されたリポジトリを削除してから、ローカルリポジトリにも反映させてくれます。

ローカルリポジトリの作業ブランチにorigin/develop(開発用)ブランチをmergeする

現状、ローカルリポジトリには作業ブランチであるfeature/hoge_fugaorigin/developが存在しています。そして、origin/developはリモートリポジトリと結びついています。`

git fetch --prune

origin/developが最新情報になってますのでここで、

git merge origin/develop

コマンドを使う事によって、ローカル環境のfeature/hoge_fugaが最新の状態に更新されるということになります。

まとめ

スクールの教材などを行っていると、良い方向に誘導してくれますが、それだけではいけないと思ってます。自分の頭で考え、「これってどういうこと?」というのは今後も深堀りしていきたいと思います。もし今回のまとめが「ここ違うよ!」って点がありましたら教えていただけると嬉しいです。最後までお読みいただきありがとうございました。

参考文献

17
21
2

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
17
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?