テレワークで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からのやり方は、
- 上のツールバーからスタッシュをクリックする
- スタッシュ(退避)に名前を付ける
- ぐるぐる回ってスタッシュが開始する
- スタッシュが終了し、作業コピーの一覧から変更されたファイルが消える(追加は消えない)
- pullする(うまくいく)
- 左のツールバーからスタッシュをクリックし、先ほど名前を付けたスタッシュを右クリックし適用
- 適用する
以上。ちゃんとpullできているし、作業コピーの一覧に変更されたファイルが戻っている。
なるほど、改めてGit便利かも。
コメント