Git 変更途中のファイルのせいでpullできないときにstashするメモ

IT関連

テレワークでMacを持って帰り、MacからGit pushする。

 

そして会社PCからその変更を取り込もうとGit fetch & Git pullをする。

すると変なエラーが。

 

Your local changes to the following files would be overwritten by merge

 

これは会社PCで変更してcommitしていない変更途中のファイルが、pushされているのでpullできないということらしい。

 

確かに会社PCでいまいちcommit&pushに踏み切れない変更箇所があるんですよね。

これを無理やりcommitするにはちと厳しい。

 

こういうときに使うのがstashらしい。

 

stashとは現在の作業を一時退避できる機能。

退避しているうちにpullして、後で退避したのを戻す作業をするということ。

 

Sourcetreeからのやり方は、

  1. 上のツールバーからスタッシュをクリックする
  2. スタッシュ(退避)に名前を付ける
  3. ぐるぐる回ってスタッシュが開始する
  4. スタッシュが終了し、作業コピーの一覧から変更されたファイルが消える(追加は消えない)
  5. pullする(うまくいく)
  6. 左のツールバーからスタッシュをクリックし、先ほど名前を付けたスタッシュを右クリックし適用
  7. 適用する

以上。ちゃんとpullできているし、作業コピーの一覧に変更されたファイルが戻っている。

なるほど、改めてGit便利かも。

コメント

タイトルとURLをコピーしました