ようこそここは俺のチラシの裏だ。

専門学校卒のぽんこつえんじにあが個人事業主になって書いているただの日記。

gitをCUIベースで勉強すると言ったな、スマンありゃ嘘だった。

SourceTree はいいぞ

f:id:sugaryo1224:20180401141323j:plain

仕事で使ったSourceTreeが便利なので、当面これで問題ないっす、趣味環境のソース管理もこれで運用します、しますっていうかしてます。

今まで

今までEclipse(EGit)ないしはVisualStudio(内蔵のGit連携機能、良く解らない)を使ってIDE上でGit使ってたんですが。

勿論この方が理想形IDE上で更新したりリバート掛けたりしたい)なんですが、IDE外での操作になっちゃうとは言えSourceTreeは便利なので、運用するならこれかな、と。

Hunk

特に、EGitとかでは見当たらなかった「ハンク Hunk」という機能が使えるんですよね、これがプチ便利。
(ハンク:スゲー雑に説明すると、ファイル単位でのステージングじゃなく、コードブロック単位でのステージングが出来る、みたいな)

ハンクが使えると何が便利かって、以下のようなあるあるケースに対応できるんですよね。

機能の追加や修正、いわゆる仕様変更的な作業をしている時に、機能や動作には全く関係ないコメントの間違いや誤字脱字、或いは機能的に無関係なミスを見つけたので取り敢えずTODO/FIXMEを埋めておきたい。

と言った、今やっているシチュエーションに無関係な局所的修正を行って、それだけ別でコミットしちゃいたい。

と言ったケース、地味にめちゃくちゃあるあるじゃないですか。

で、多くの場合は以下の3択でしょう。

  • ローカルにコピっておくとかして本修正を一旦退避しつつリバート掛けて、局所的な修正だけをやってコミットし、退避したコードを元に戻す。
  • わざわざブランチを切ってあとでマージする(クソめんどい)
  • 仕方ないので今回やってる修正と合わせてコミットしちまう。

ハンクが使えればこの辺うまく棲み分けができるし、コード修正とSourceTree上でのコミット操作をプチ分離できるのでこの辺便利です。

何と言うか、余計な事でストレスを産まなくて良い、ってのが何気に重要。

git-flow

あと他に、ワンクリックで git-flow モデルを適用出来るボタンがあったり、GUIベースで色々と出来るので、ホントおすすめ。

ぎっとふろーに関してはこの辺を参考に。

Git-flowって何? - Qiita

SourceTree上でGit Flowを動かしてみる - Qiita

SourceTree

ja.atlassian.com

参考資料:

はじめてのSourceTree(使い方編) - Qiita

SourceTreeとGithubでGitの練習環境をつくる - Qiita