Sourcetreeでコミットする


概要

SourceTreeを使ってコミットをする方法を紹介します。
コミットとはローカルリポジトリに作業内容を反映することです。
リポジトリから自分の開発環境を作成し開発を進めても
ローカル、リモートリポジトリには影響がありません。

git_0028

影響を与えるには実装した内容をリポジトリに反映する必要があります。
ローカルリポジトリへの反映する機能をコミットと呼びます。

git_0029

ステージする

ローカルリポジトリにコミットするためには反映したいファイルを
ステージしなければいけません。
「ステージする」とはファイルをインデックスに登録することです。

インデックス

インデックスとは次回のコミットでローカルリポジトリに反映する
ファイルの情報を保存している領域のことです。
Gitのコミットは作業環境の内容をそのままローカルリポジトリに反映するのではなく、
作業環境からインデックスに登録されたファイルを反映しています。

git_0030

反映したいファイルだけをインデックスに登録すればいいので、
余分なファイルを含むことはなくなります。

Sourcetreeでコミットする

Sourcetreeでコミットはファイルステータスの作業コピーの項目で行います。

git_0031

上の画像では赤枠内には表示されていませんが、
これは「インデックスに何もステージしていない」かつ
「ローカルリポジトリと作業環境に差異がない」ことを示しています。

ファイルステータスの画面構成

作業環境内でファイルの追加、修正、削除が行われると
以下のように画面が変化します。

git_0032

①.インデックス登録ファイルリスト

インデックスにステージされたファイルのリストが表示されています。

「全てインデックスから除く」ボタンを押すとリストのファイルが全て取り除かれ、
「選択をインデックスから除く」ボタンを押すと選択されたファイルのみ
リストから取り除かれます。

②.差分ファイルリスト

作業環境とローカルリポジトリのファイルで差分(作成、削除含む)が発生した
ファイルのリストが表示されています。

「全てインデックスに追加ボタン」を押すとリストにあるファイルが全て
インデックスにステージされます。
「選択をインデックスに追加」ボタンは選択したファイルのみ
インデックスにステージします。

③.差分情報

差分情報ではローカルリポジトリと作業環境との差分が表示されています。
各行に対して変更、追加があった行の先頭に「+」記号が表示され、
削除の場合は先頭に「-」が表示されます。
どちらの場合も、行自体に色がつくので分かりやすくなっています。

差分情報にはHunkを操作する機能があります。
「Hunkをステージへ移動」は変更された内容をインデックスに登録し、
「Hunkを破棄」は変更された内容を破棄します。
破棄した場合、「作業環境の内容が変更前の状態に戻る」ので注意してください。
また、変更の一部分だけを移動、削除することも可能です。

アイコン

ファイルステータスはアイコンによってファイルの情報を知らせてくれています。

アイコン 状態
? ローカルリポジトリに未登録
+ ローカルリポジトリに新規追加する
- ローカルリポジトリから削除する
ローカルリポジトリのファイルと差分がある

コメント

コミット前には必ずコメントを入れて下さい。

git_0033

コメントはコミット後にログで確認することができます。
チームで開発を行う場合、他人の作業内容はコメントで概要を把握します。
コメントがないとどのような変更を行ったかわからず
作業把握に時間がかかってしまいます。
作業を効率化するためにも、しっかりとしたコメントを書くようにしましょう。

特にコメントの一行目はログ上ですぐに目に入るので、
その文だけで作業内容がある程度把握できるように書いた方がいいとされています。

コミット

ローカルリポジトリに反映するファイルをインデックスにステージして、
変更内容についてもコメントを書いたら、コミットを行うためにボタンを押します。

git_0034

これでコミットは完了です。
完了後はログにコミット情報、プッシュやブランチには数字が追加されます。
この数字はプッシュの記事で説明します。

git_0035