これまで、Git操作は主にターミナルから行っていました。
ただ先日、SourceTreeで視覚的にリポジトリを管理するようになったら、便利すぎてこればかり使用するようになってしまいました。
ターミナルからッターンとキー入力するのも気持ちが良いのですが、僕の場合コマンドをすぐに忘れてしまいます。なので、思い出したり、調べたりしなくていいSourceTreeが重宝しています。
というわけで、今回はSourceTreeを使ったローカルリポジトリの管理方法の紹介です。
SourceTreeのインストール方法は、以下を参照してください。
目次
ユーザー情報の登録
まずは、Gitでコミットする時に必要なデフォルトのユーザー情報の登録を行っておきます。
Gitコマンドで言えば以下の動作です。
git config --global user.name "[ユーザー名]" git config --global user.email "[メールアドレス]"
まずは、「ツール」メニューから「オプション」を選択してください。
すると、「オプション」ダイアログが表示されるので、「全般」タブであることを確認して、「デフォルトユーザー情報」の「フルネーム」と「メールアドレス」を設定します。
「フルネーム」はハンドルネームでも何でも良いかと思います。
ローカルリポジトリの作成
まずは、プロジェクト内にGitリポジトリを作成する方法です。
Gitコマンドでいうと以下のコマンドです。
git init
まずは、SourceTreeを起動したら「新規/クローンを作成する」ボタンを押してください。
「リポジトリをクローン/追加/作成」ダイアログが表示されるので「リポジトリを作成」タブを選択して、「保存先のパス」を選択後、「作成」ボタンを押してください。
すると、2ペインの左側にリポジトリが追加され、右側にリポジトリの内容が表示されます。
これで、ローカルリポジトリが作成されました。
ファイルをインデックスに追加(管理ファイルの指定)
リポジトリで管理・コミット対象にするファイルを指定する方法です。
個々のファイルを指定
Gitコマンドで言えば以下のコマンドになります。
git add [ファイル名]
ファイルを個々に指定するには「作業ツリーのファイル」に表示されているファイル名にチェックをつけてください。
すると、それぞれのファイルが「Indexにステージしたファイル」に追加されコミットの対象になります。
「Indexにステージしたファイル」の個々のチェックを外せば、取り消すこともできます。
Gitコマンドでいうと以下の動作。
git reset HEAD [ファイル]
すべてのファイルをまとめて指定
わざわざ、1つ1つファイルをコミット対象にするのは面倒なので、まとめて指定する方法です。
Gitコマンドでいうと以下になります。
git add . git add -A
まとめてファイルを指定するには、「作業ツリーのファイル」の左側にあるチェックボックスにチェックを入れます。
すると、「Indexにステージしたファイル」に一覧で追加されます。
「Indexにステージしたファイル」左側のチェックを外すと、まとめて取り消すこともできます。
Gitコマンドでいうと以下の動作。
git reset HEAD
インデックスに追加されたファイルをコミット
インデックス上のファイルをコミットする方法です。
Gitコマンドでいうと以下の動作。
git commit git commit -m "コミットメッセージ"
SourceTreeで行うには、編集(追加)ファイルなどをインデックスに追加した後に、「コミット」ボタンを押してください。
すると、画面右下にコミットエリアが表示されるので、コミットメッセージを入力後、「コミット」ボタンを押してください。
初めての、コミット終了後は以下の画面が表示され、masterブランチが作成されています。
編集作業をコミットする流れ
プロジェクトに変更を加えた後などは、SourceTreeフォームを表示させてしばらく待って、変更が読み込まれた後以下の手順を行います。
- ログに「コミットされていない変更があります」と出ているのでクリック
- 「作業ツリーのファイル」にチェックを付ける(すべての変更をインデックス化)
- 「コミット」ボタンを押す
あとは、コミットメッセージを入力してコミットしてください。
最後のコミットを上書き
ちょっとした変更して、最後のコミットに上書きしたい時は以下のようにします。
Gitコマンドで言えば以下の動作です。
git commit --amend
「コミット」ボタン右上に「オプションのコミット」セレクトボックスがあるので「最後のコミットを上書き(Amend)」を選択して「コミット」ボタンを押してください。
間に、コミットメッセージをどうするか以下のようなダイアログが表示されると思いますが、コミットメッセージそのままで上書きする場合は、「Yes」ボタンを押してください。
コミットの取り消し
コミットの取り消しも手軽に行えます。
Gitコマンドでいうと以下のような動作。
git reset --hard HEAD git reset --hard HEAD^ git reset --hard HEAD [コミットID]
コミットの取り消しを行いたい場合は、まずコミット一覧の戻りたい箇所をクリックします。
そして、右クリックメニューから「現在のブランチをこのコミットまでリセット」を選択してください。
すると以下のようなダイアログが表示されます。すべての変更を破棄(Hard)するには、「使うモード」を「Hard – すべての作業コピーの変更を破棄する」を選択して「OK」ボタンを押してください。
作業を破棄するので以下のようなダイアログが表示されますが「Yes」を押してください。
すると、指定したコミットまで作業が破棄されて削除されます。
ここらへんは、視覚的に操作できるので、非常に分かりやすいです。
コミットログの表示
ログは、ブランチを選択すると勝手に一覧で表示されます。
Gitコマンドでいうと以下のような動作です。
git log //コミット情報の詳細表示 git log --oneline //コミット情報の一行表示 git log -p //コミット情報等差分の表示 git log --sta //コミット情報と編集ファイル情報の表示
これは、本当に簡単でただ画面右側に情報がすべて表示されます。
上部に「git log –oneline」を利用したような一覧が表示されます。
詳細なコミット情報の表示(git log)、変更されたファイル(git log –stat)、どこが変更されたか(git log -p)なんかも、いちいちコマンドを入力する必要がなく、まとめて表示されるので、見やすく手間も軽減できます。
これらの、情報表示画面があれば、以下のようなGitコマンドを入力せずとも、ちょっとしたマウス操作で同様の情報が確認できるかと思います。
git status //現在の状態の把握 git diff //インデックスされる前の差分の表示 git diff --cached //インデックスされた差分の表示
まとめ
とりあえず、今回はプロジェクトファイル編集後のコミットなどを行う方法まで紹介しました。
次は、ブランチ・タグ操作です。
ターミナルで操作も良いのですが、僕のような「コマンドを覚えるのが苦手」という人は、SourceTreeを使ったGit管理は、何かとはかどるかと思います。
SourceTreeの利用方法をまとめたものは以下。