Git入門、SourceTreeの操作方法まとめ 〜 amend、reset、revert、cherry-pickを抑えよう

Git入門、SourceTreeの操作方法まとめ 〜 amend、reset、revert、cherry-pickを抑えよう

※この記事が公開されたのは1年10ヶ月前ですが、 2016年6月10日に内容をメンテナンスしています。

高機能Gitクライアントの「SourceTree」や「Tower2」は日々バージョンアップされており、Gitのクライアントツールは使いやすくなってきました。以前、記事「こんな使い方知ってましたか?SourceTreeをさらに使いこなすための便利機能」を掲載しましたが、この他にもGitには様々な機能が準備されているので、使いこなすことで効率よく開発を進めていけるでしょう

Gitのコマンドは様々なサイトに情報が掲載されていますが、GitのコマンドとGUI(グラフィカル・ユーザー・インターフェース)での操作がいまいち結びつかない事が多いと思います。そこで本記事ではGitの便利なコマンドをSourceTreeとTower2での使い方を踏まえて、ご紹介します。

コミットの修正・やり直し

コミット後に「コミット漏れのファイルがあった・・」「コメントを間違えたので修正したい」など困ったことはありませんか?リモートリポジトリにPUSHする前であれば、git commit --amendコマンドを使うことで解決することができます。

git commit --amend

Tower2の操作方法

[WorkingCopy]画面にある[Amend]というチェックボックスにチェックを入れることで、コミットの修正ができます。チェックを入れると直前コミットのコメントが表示され、コメントの修正やファイルの追加ができるようになり[Amend]ボタンを押すことで修正が反映されます。

amend_tower2

コメントはそのままでファイルの追加だけをしたいという方は[WorkingCopy]画面で[Alt]ボタンを押すと[Commit]ボタンが[Amend]ボタンに切り替わるので、このままファイルを選択し[Amend]ボタンを押すことでファイルの追加が簡単にできます。

amend_tower2-2

SourceTreeの操作方法

[作業コピー]画面にある[コミット オプション]から[最新のコミットを修正]にチェックを入れることで、コミットの修正ができます。チェックを入れると直前コミットのコメントが表示され、コメントの修正やファイルの追加ができるようになり「コミット」ボタンを押すことで修正が反映されます。

amend_sourcetree

コミットの取り消し

Gitにはコミットを取り消す仕組みが用意されています。リモートリポジトリにPUSHする前であれば簡単な操作で取り消せます。コミット後に「やっぱりまだコミットはしたくない」「間違ったブランチにコミットしてしまった・・」などの場合はgit resetコマンドを使いましょう。リモートリポジトリにPUSHしてしまった場合は、コミット履歴は残ってしまいますが、次項の「コミットの打ち消し」を使って元に戻す事ができます。

git reset (--soft | --mixed | --hard)

「git reset」コマンドには3つのオプションがあり、用途に合わせて選ぶことができます。

  • soft
    選択したコミットまで戻し、すべての変更をインデックスに保持したままにします。細かいコミットをまとめたり、整理したい時などに便利です。
  • mixed
    選択したコミットまで戻し、インデックスはリセットされ、すべての変更はワーキングツリーに保持した状態になります。デフォルト(オプション指定なし時)のオプションになります。
  • hard
    選択したコミットまで戻し、すべての変更を破棄します。誤ったコミットを取り消したい時などに便利です。

※実際に作業しているフォルダを「ワーキングツリー」といい、修正したファイルをコミットする前の状態を保持している領域(コミットするためにツール上でファイルを選択した状態)を「インデックス」といいます。

Tower2の操作方法

コミット履歴の一覧からもとに戻りたい位置のコミットを右クリックし[Reset HEAD to “XXXXXXXX”]を選択します。すると、「Keep Changes」するかどうかのチェックボックスが表示されますので、「mixed」オプションで実行したい場合はチェックを入れたまま、「hard」オプションで実行したい場合はチェックを外して実行してください。

reset_tower2

SourceTreeの操作方法

コミット履歴の一覧からもとに戻りたい位置のコミットを右クリックし[このコミットまで XXXXX を戻す]を選択します。すると、「soft」「mixed」「hard」の3つのオプションを選ぶ画面が出てくるので、実行したいモードを選択して実行して下さい。

reset_sourcetree

次のページでは「コミットの打ち消し」「チェリーピック」の操作方法を解説します。


     最新記事の一覧へ 
公開 / 更新
渡邊 真耶

渡邊 真耶

インタラクティブデベロッパー。Web制作会社でサーバサイドやフロントエンドの制作に携わり、現在は株式会社ICSでFlashコンテンツの制作を担当。