GitクライアントのSourceTreeは無料で使えるGitアプリケーションとして人気があります。「SourceTreeの基本的な使い方はバッチリ! だけど、まだまだ使っていない機能があるなぁ」なんて人も多いのではないでしょうか? そんな人へオススメの知っておくと便利な機能を5つ紹介します。
※本記事は2024年4月現在のmacOS 14.4.1、SourceTree 4.2.7で解説しています。Windows版のSourceTreeでも同じ手順で利用できます。
はじめに - SourceTreeとは?
SourceTreeはGit / MercurialのGUIクライアントで、Atlassian社から無償で提供されています。WindowsとmacOSで使用でき、グラフィカルでシンプルなUI(ユーザーインターフェイス)のためGit初心者でも容易に操作することが可能です。
1. diff - 差分を見る
diffを行うことで、ある時点のコミットと、別のコミットとの差分を見ることができます。
差分を見たいコミットの片方を左クリックで選択しておきます。
差分を見たいコミットのもう片方を、commandキー(Windowsの場合はCtrlキー)を押しながら左クリックします。
差分が表示されました。簡単に見られて便利ですね。
もちろん、ブランチをまたがっていても差分を見ることができるので、ブランチをマージする前に見ておくとコンフリクトするかの確認などできて良いかもしれません。
2. stash - 一時的に作業状態を保管しておく
現在の作業をいったん置いておいて、別のブランチでの作業を行いたいことはよくあると思います。 ですが、コミットするにはちょっと作業が中途半端なことはありますよね。そんな時はstashを使用すると便利です。
[スタッシュ]アイコンをクリックします。
適切なメッセージを入れOKを押します
※「ステージされた変更を残す」にチェックを入れると作業状態は残ったままになりつつさらに保管されます。
左側メニューの[スタッシュ]へ作業状態が保管されます。
作業を元に戻したくなったら、左側メニューの[スタッシュ]から元に戻したい作業を選択して右クリックして「退避した変更を適用」を選びます。
※「適用後に削除」にチェックマークを入れると、スタッシュされていた変更は削除されます。
3. tag - コミットにタグをつける
Gitの履歴が長期間に及ぶと、Gitのログは膨大になって行きます。リリースなど重要なタイミングでのコミットにタグをつけることで後ほどの参照が簡単になります。また、GitHubなどへタグをプッシュしておくと他のメンバーとの共有が可能です。
タグを作成したいコミットを履歴上から右クリックし、[タグ]を選びます。
タグの設定を行います。下記の設定を行ってから[タグを追加]ボタンを押下します。
- [タグ名]の部分に設定したいタグ名を指定します。「/」(スラッシュ)で区切ると、SourceTreeでツリー状でのタグの管理が可能になります。
- [メッセージ]の部分にはタグ名だけで分からない内容などを補います。
- [コミット]の部分には指定のコミットを選んでおきます (この時作業コピーの親を選ぶと、右クリックで指定した箇所とは違う位置へタグが付く可能性もあるので要注意です)
左側メニューと履歴上にタグ表示が出ます。左側メニューのタグ名をクリックすると、タグをつけたコミットを表示するよう画面がスクロールします。さらに、タグ名を右クリックすると、[詳細]からタグの作成者などの詳細情報が閲覧できます。[現在のファイルとの差分をとる]を選択して、差分を表示することもできます。
4. cherry-pick - 別ブランチのコミットを取得する
Gitではマージやリベースなどで別ブランチの状態を取り込むことができますが、取り込む単位をコミット単位で可能なのがcherry-pickです。
取得したいコミットを選んで右クリックし、[チェリーピック]を選びます。
表示されたダイアログで[続行]ボタンを選びます
同じコミットが、現在のブランチへコミットされました。
5. revert - コミットした内容を打ち消すコミットを作成する
revertはあるコミットを打ち消すコミットを簡単に作成できます(SVNのrevertとは別の機能です) 。
打ち消しを行いたいコミットを右クリックし、[コミットを適用前に戻す]を選択します。
表示されたダイアログで[OK]を選びます
打ち消すコミットが作成されました。
おわりに
SourceTreeは多くのメニューやオプションがあり、黒い画面を使わずとも簡単にGitを使うことができて便利です。今回紹介した機能以外もたくさん機能があるので、習得すると仕事がはかどります。
ICSではGitを活用し効率的な開発/運用ワークフローに日々取り組んでいます。以下の記事もぜひご覧ください。
※この記事が公開されたのは10年前ですが、半年前の4月に内容をメンテナンスしています。