🔀

リモートブランチの変更内容を簡単に取り込む便利なgit alias

2023/12/26に公開

remoteのmainブランチの変更を取り込みたい時

自分が良い方法を知らないだけかもしれないのですが、
ローカルのブランチで作業をしていて、最新のmainブランチの変更を取り込みたい時、下記のように取り込むと思います。

git checkout main # ① mainブランチに切り替える
git pull #  ② main をpullする
git checkout feature/A # ③ 元いたブランチに戻る
git merge main # ④ main の変更を取り込む

ただ、シチュエーション的に、mainブランチの変更を取り込みたいことは多いと思うので、
チーム開発をしている方は定期的に上記の一連のコマンドを打つことが多いともいます。

1コマンドで取り込めるようにしたい。

結論だけ書くと、aliasを設定することで、上記の作業を簡略化できるようにしました。

git merge-remote main

設定方法

下記のスニペットをコピーして、shellに貼り付けて実行。

git config --global alias.merge-remote '!f() { git checkout $1 && git pull origin $1 && git checkout - && git merge $1; }; f'

もちろん、.gitconfigに直接書き込むのでも大丈夫です。

~/.gitconfig
[alias]
	merge-remote = "!f() { git checkout $1 && git pull origin $1 && git checkout - && git merge $1; }; f"

これで、最初にやろうとしてたことが、

git merge-remote main

だけで済むようになりました。便利ですね。
merge-remoteという名前は、自分が分かりやすいようにつけただけなので、
好きな名前にalias名を変えて使うとよいかもしれません。

Discussion