home wiki.fukuchiharuki.me
Menu

キーワード

  • Git
  • fetch
  • rebase
  • pull
  • merge

したいこと

git pullしちゃうとマージコミットされてきもちわるいのでrebaseしたい。

けど、コミットしてない変更があると怒られる。

$ git rebase
Cannot rebase: You have unstaged changes.
Please commit or stash them.

Eclipseで操作するでもいいけど、環境が変わると対処できなくなるのは困るのでコマンドで操作したい。

どうやって

$ git fetch
$ git rebase

ここで怒られるので、コミットしてない変更を退避してからrebaseする。

$ git stash save
$ git rebase

退避した変更を適用する。

$ git stash pop

ノート

メッセージ

退避するときにメッセージをつけられる。

$ git stash save "メッセージ"

一覧

退避した変更を確認することができる。

$ git stash list
stash@{0}: WIP on master: 554699c refactor: 分かりづらいメソッド名をrename

適用

いくつか退避した場合、退避した変更を指定することができる。

$ git stash pop stash@{N}

退避した変更を適用したときに、これを消さないでおくことができる。

$ git stash apply stash@{N}

退避した変更を適用せずに、これを消すことができる。

$ git stash drop stash@{N}

参考