git pullせずにgit upする


git pullした時リモートに変更があると、rebaseが面倒でmergeコミットしてtreeを汚くしちゃってたんだけど、git-upというツールを使うとfast-forwardできない時は自動でrebaseしてくれて便利だった。
aanand/git-up

git pull has two problems:

It merges upstream changes by default, when it's really more polite to rebase over them, unless your collaborators enjoy a commit graph that looks like bedhead.
It only updates the branch you're currently on, which means git push will shout at you for being behind on branches you don't particularly care about right now.

gem install git-upしたらすぐ使える。

リモートの変更を取り込む時にgit pullではなくgit upを実行するようにする。

↑masterを自動的にrebaseできた。更にカレントブランチ以外もpull/rebaseしてくれている。

またコミットしていないファイルがある状態でgit upしたときは、自動でstashして変更を取り込んだ後にunstashしてくれたりもする。

pull/rebaseの使い分けだけならpull --rebaseオプション付けるのでも良いかなと思ったけど、それ以外にもこういった便利機能があって良い。