SourceTree はいいぞ
仕事で使ったSourceTreeが便利なので、当面これで問題ないっす、趣味環境のソース管理もこれで運用します、しますっていうかしてます。
今まで
今までEclipse(EGit)ないしはVisualStudio(内蔵のGit連携機能、良く解らない)を使ってIDE上でGit使ってたんですが。
勿論この方が理想形(IDE上で更新したりリバート掛けたりしたい)なんですが、IDE外での操作になっちゃうとは言えSourceTreeは便利なので、運用するならこれかな、と。
Hunk
特に、EGitとかでは見当たらなかった「ハンク Hunk」という機能が使えるんですよね、これがプチ便利。
(ハンク:スゲー雑に説明すると、ファイル単位でのステージングじゃなく、コードブロック単位でのステージングが出来る、みたいな)
ハンクが使えると何が便利かって、以下のようなあるあるケースに対応できるんですよね。
機能の追加や修正、いわゆる仕様変更的な作業をしている時に、機能や動作には全く関係ないコメントの間違いや誤字脱字、或いは機能的に無関係なミスを見つけたので取り敢えずTODO/FIXMEを埋めておきたい。
と言った、今やっているシチュエーションに無関係な局所的修正を行って、それだけ別でコミットしちゃいたい。
と言ったケース、地味にめちゃくちゃあるあるじゃないですか。
で、多くの場合は以下の3択でしょう。
- ローカルにコピっておくとかして本修正を一旦退避しつつリバート掛けて、局所的な修正だけをやってコミットし、退避したコードを元に戻す。
- わざわざブランチを切ってあとでマージする(クソめんどい)
- 仕方ないので今回やってる修正と合わせてコミットしちまう。
ハンクが使えればこの辺うまく棲み分けができるし、コード修正とSourceTree上でのコミット操作をプチ分離できるのでこの辺便利です。
何と言うか、余計な事でストレスを産まなくて良い、ってのが何気に重要。
git-flow
あと他に、ワンクリックで git-flow
モデルを適用出来るボタンがあったり、GUIベースで色々と出来るので、ホントおすすめ。
ぎっとふろーに関してはこの辺を参考に。
SourceTree上でGit Flowを動かしてみる - Qiita
SourceTree
参考資料: