2014/02/02

[git]stashって便利だな

お仕事で、git管理するようにしている。
まあ、私は「gitでやるんで、みんなよろしく」というだけなんだけど、たまには自分でちょっと修正したりすることもある。
で、修正中のソースにpullしたいことがある。
そのとき「ちっ」と舌打ちして、「git checkout --」とかで全部元に戻して、pullして、また変更箇所をWinMergeとかで戻す、などということをやっていた。
普段、gitはGUIのツールでやってたのだけど、昨日はなんとなくコマンドラインから実行した。
pullとすると失敗したので、またいつもの作業をするか・・・と思っていると、なんか説明が出ている。
「commitかstashかしんしゃい」みたいなことらしい。
あることは知っていたstashだが、「一時保存して何に使うんだ?」くらいの印象しか持っておらず、試したこともなかった。
試しにstashすると、statusで見たら変更分が消えて、一時保存されていた。
あら、一時保存して、汚れたソースを元に戻すところまでやってくれるんだ!
statusで変更が無い状態になるので、pullしても問題なし。
その後、stash listとかで保存名を探し、stash applyで復帰させられるようだ(stash popでポップするみたい)。
ほほぅ。
まあ、今回は修正したソースが誰も触っていないことがわかっていたのでこれでよかったのだけど、変更されていたらまずそうだ。
どうやらコンフリクトしてくれるらしいので、それでよいのかな。

いろんな人がいるので、GUIで「こうやれば何とかなるので使ってください」という形に持っていかないと、なかなかうまく使ってくれなかったり、変な使い方をして結果的に困ることになったりする。
Git Flowっていう運用がよいという話も聞くので、検討せんといかんな。

家ではTortoiseGitを使ってるのだけど、会社ではGit Extension(だっけ)を使い、MacだとSourceTreeになってる。
Linuxは、SambaにしてWindowsから使うか、コマンド打ちか(GUI環境無しなので)。
SourceTreeで統一したい気もするが、Windowsだとインストールがちょっと会社的に面倒なのだよなあ。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。