こんな使い方知ってましたか?SourceTreeをさらに使いこなすための便利機能


140528-title-git-sourcetree
こんにちはICS野原です。

GitクライアントのSourceTreeは今年1月にWindows版も日本語に対応され、入門記事もだいぶ多くなってきました。
「SourceTreeの基本的な使い方はバッチリ!だけど、まだまだ使っていない機能があるなぁ」なんて人も多いのではないでしょうか?そんな人へおすすめの知っておくと便利な機能を5つ紹介します!

はじめに – SourceTreeとは?

SourceTreeはGit / MercurialのGUIクライアントで、Atlassian社から無償で提供されています。Windows / Macで使用でき、グラフィカルでシンプルなUIのためGit初心者でも容易に操作することが可能です。

※本記事はwindows8.1, SourceTree for Windows 1.4.0.0を元に作成しました。

目次
1. diff – 差分を見る
2. stash – 一時的に作業状態を保管しておく
3. tag – コミットにタグをつける
4. cherry-pick – 別ブランチのコミットを取得する
5. revert – コミットした内容を打ち消すコミットを作成する


1. diff – 差分を見る

diffを行うことである時点のコミットと、別のコミットとの差分を見ることが出来ます。
git-diff

1. 差分を見たいコミットの片方を左クリックで選択しておきます。
git-diff01

2. 差分を見たいコミットのもう片方を、Ctrlキーを押しながら左クリックします。
git-diff02
差分が表示されました。簡単に見れて便利ですね。
もちろん、ブランチをまたがっていても差分を見ることができるので、ブランチをマージする前に見ておくとコンフリクトするかの確認など出来て良いかもしれません。


2. stash – 一時的に作業状態を保管しておく

現在の作業を一旦置いておいて、別のブランチでの作業を行いたいことはよくあると思います。
ですが、コミットするにはちょっと作業が中途半端なことはありますよね。そんな時はstashを使用すると便利です。
git-stash

1. 「スタッシュ」アイコンをクリックします。
stash01

2. 適切なメッセージを入れOKを押します
※「ステージされた変更を残す」にチェックを入れると作業状態は残ったままになりつつ更に保管されます。
stash02

3. 左側メニューの「スタッシュ」へ作業状態が保管されます。
stash03

4. 作業を元に戻したくなったら、左側メニューの「スタッシュ」から元に戻したい作業を選択して右クリックして「適用」を選びます。
stash04
※「適用した変更を削(除)」にチェックマークを入れると、スタッシュされていた変更は削除されます。
stash05


3. tag – コミットにタグをつける

長い間プロジェクトを進めているとGitのログは膨大になって行きます。リリースなど重要なタイミングでのコミットにタグをつけることで後ほどの参照が簡単になります。また、Githubなどへタグをプッシュしておくと他のメンバーとの共有が可能です。
tag

1. タグを作成したいコミットを履歴上から右クリックし、「タグ」を選びます。
tag-1

2.タグの設定を行います。下記の設定を行ってから「タグを追加」ボタンを押下します。

  1. 「タグ名」の部分に設定したいタグ名を指定します。/(スラッシュ)で区切ると、SourceTreeでツリー状でのタグの管理が可能になります。
  2. 「メッセージ」の部分にはタグ名だけで分からない内容などを補います。
  3. 「コミット」の部分には指定のコミットを選んでおきます
    (この時作業コピーの親を選ぶと、右クリックで指定した箇所とは違う位置へタグが付く可能性もあるので要注意です。)

tag-2

3. 左側のメニューと履歴上にタグ表示が出ます。タグをクリックするとタグを付けたコミットへ画面がスクロールし移動できます。さらに、そのタグを右クリックすると「詳細」「現在の内容とのDiff」など見ることが出来ます。
tag-3
tag-4


4. cherry-pick – 別ブランチのコミットを取得する

Gitではマージやリベースなどで別ブランチの状態を取り込むことが出来ますが、取り込む単位をコミット単位で可能なのがcherry-pickです
cherry-pick

1. 取得したいコミットを選んで右クリックし、「チェリーピック」を選びます。
cherry-pick1

2. 表示されたダイアログでYesを選びます
cherry-pick2

3. 同じコミットが、現在のブランチへコミットされました。
cherry-pick3


5. revert – コミットした内容を打ち消すコミットを作成する

revertはあるコミットを打ち消すコミットを簡単に作成出来ます。(※SVNのrevertとは別の機能になるので注意です。以前勘違いして認識していた時、現在の作業を破棄したいだけだったのにrevertのコミットが何度も作成されて酷い目にあいました……!)
revert

1. 打ち消しを行いたいコミットを右クリックし、「コミットを打ち消す」メニューを選択します。
revert-1

2. 表示されたダイアログでYesを選びます
revert-2

3. 打ち消すコミットが作成されました。
revert-3

おわりに

SourceTreeは多くのメニューやオプションがあり、黒い画面を使わずとも簡単にGitを使うことが出来て便利です。今回紹介した機能以外もたくさん機能があるので、探して見ると面白いかもしれません。
ICSではGitを活用し効率的な開発/運用ワークフローに日々取り組んでいます。Gitを使ったワークフローに興味のある方は今後もICS LABをチェックください。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>