スポンサーリンク

【初めてのgit&Sourcetree】ローカルリポジトリの作成と変更をコミットする手順

2020年10月17日

スポンサーリンク

gitにおける最も基本的な操作はコミットです。
コミットの操作をSourcetreeで行う手順を順に見て行きましょう。

スポンサーリンク

1.事前準備。

1)Sourcetreeのインストールについて

Sourcetreeのインストールについては以下の記事を参照してください。

1)説明用フォルダについて

この記事の操作説明にあたっては以下のフォルダ構成とファイル内容を想定しています。

・フォルダ:d:\source\sample

・ファイル名:Lesson01.txt

・ ファイル「Lesson01.txt」の内容

Javascript
php
pythom
Perl
JQery
Ruby

 

2)隠しフォルダの設定

また、隠しファイルが見えるように設定しておきましょう。エクスプローラで「表示」-「隠しファイル」にチェックを付けておいてください。

 

スポンサードサーチ

2.ローカルリポジトリを作成する。

ではリポジトリを作成しましょう。

個人のソース管理を自分のPCで行うにはPCにリポジトリを作成します。

リポジトリは・・

・変更管理したいソースが格納されているフォルダにリポジトリを作成します。

・リポジトリは隠しファイルとして作成されます。

 

1)「Sourcetree」を起動して「Create」ボタンをクリックします。

2)リポジトリ情報入力

リポジトリはソース管理をしたいファイルが格納されているフォルダに対して作成します。

①ソース管理を行うファイルが格納されている対象フォルダを指定します。(フォルダは空でも既にソースが格納されていても大丈夫です)
②リポジトリに分かりやすい名前を付けます。
③「Git」を選択します。
情報の入力後「作成」ボタンをクリックしてください。

※指定したフォルダにファイルが既にある場合は以下のように確認ダイアログが表示されますので「はい」をクリックして下さい。

3)リポジトリ作成

リポジトリが作成され「Sourcetree」の作業ウィンドウが表示されます。

上述したようにリポジトリが作成されると指定したフォルダにリポジトリが隠し属性で作成されます。こちらは触らないようにしてください。

 

スポンサードサーチ

3.Sourcetree(git)におけるファイル更新の状態遷移について

Sourcetree(git)においてファイルの更新をリポジトリ登録するにあたっては3つの状態を使い分けて行います。

①作業ディレクトリ ファイルの更新作業を行う
②ステージングエリア コミットしたいファイルを登録する
③リポジトリ 確定(コミット)された更新の履歴を管理するデータベース

Sourcetreeの画面では作業ディレクトリとステージングは以下のような配置になっています。(ファイルステータス画面)

1)作業ディレクトリ(作業ツリー)

更新管理対象のフォルダにあるファイルが変更されるとSourcetreeが変更を検知してウィンドウの作業ツリーに表示されます。
作業ツリーに表示されているファイルを選択してステージングエリアに登録(画面上では移動)してコミットします。

2)ステージングエリア(ステージ)

コミットしたいファイルを作業ツリーからステージングエリアに移動させます。
このとき必ずコミットメッセージ(変更内容が分かるコメント)を記述します。

3)リポジトリ

コミットされたファイルの変更がリポジトリに登録されます。

 

4.コミットについて

1)コミットとは

ファイルを更新しただけでは変更内容がリポジトリに登録されるわけではありません。
ユーザーがリポジトリに登録するよう指示する必要があります。
リポジトリに対して更新内容を記録する行為をコミットと言います。
「ファイルの保存」イコール「コミット」というのではなく、何らかの作業の区切りの時点でコミットを行うことが望ましいと言えます。

また、ファイルの保存において複数の変更作業を行った場合、作業種類に対応した別々のコミットとすることも可能です。
たとえば1つのHTMLファイルに同時に「タイトルの変更」と「ボタンの追加」を行った場合、それぞれ変更した行を別々のコミットにするといった具合です。

2)コミットの手順

gitではコミットを行う手順は以下の流れとなります。

①ファイルを変更し保存する。
②コミット対象のファイルをステージする。
③コミットメッセージを入力する。
④コミットする。

 

では順に操作して見ていきましょう。

スポンサードサーチ

5.コミットの流れ

1)最初のコミットを行います。

まず最初の状態をコミットしましょう。

①作業ツリーにファイルが表示されていますので「全てインデックスに追加」をクリックして「ステージ」に表示させます。

②ステージにファイルが移動します。
このステージにあるファイルがコミットに対象になります。

③ファイルをクリックするとファイルの内容が確認できます。

④コミットメッセージを記入します。
コミットメッセージはルールを決めておくといいでしょう。
何を行ったかがわかるように入力することが大事です。

1行目:変更の概要(タイトル付け)

2行目:空行

3行目:変更内容

 

※作業ツリーからステージへ移動する方法はいくつかありますので状況に応じて使ってみてください。

・コミットに含めたい対象のファイルをクリックしてファイルの右側の「+」ボタンをクリックして移動
・「全てインデックスに追加」をクリックして移動(検出されたファイル全てをステージングエリアに移す場合)
・対象ファイルを選択した状態で「選択をインデックスに追加」ボタンをクリック
・対象ファイルをステージングエリアにドラッグ&ドロップする

 

⑤コメントを入力したら「コミット」をクリックします。

⑥コミットが完了すると以下の画面になります。

 

2)2回目以降の変更、コミットを行う。

実際の開発においてコミットはファイルの変更、保存の都度行うのではなく、作業の節目ごとに行います。
例えば「メッセージの変更」、「テキストボックスの追加完了」などです。
中途半端なタイミングだとコミットの数が多くなり戻す先が分かりにくくなります。
①ファイルに行を追加してみる

ファイルの最後尾に1行「Swift」を追加します。

 

②Sourcetreeのウィンドウを見ると変更を検知して下記に作業ツリーに変更したファイルが表示されています。

③画面左の「master」をクリックする(コミットの履歴が表示されます)と「コミットされていない変更があります。」と表示されています。

 

④画面上のリボンにある「コミットボタン」をクリックします。

 

⑤最初のコミット同様に作業ツリーに表示されたファイル(変更が検出されたファイル)をステージに移動させます。

⑥対象ファイルをステージに移動したらコミットメッセージを忘れないように記述後「コミット」をクリックします。
(ステージの移動はファイル名の右の「+」をクリックしてもOKです。)

⑦コミットが完了すると下記の画面に再び戻ります。

⑧「画面左の「master」をクリックするとこれまでの履歴が確認できます。

このような感じでファイルの変更をコミットしつつ作業を続けていきます。

6.コミットをさかのぼって一時的にファイルを過去の状態に戻してみる。

「master」をクリックするとコミットの履歴が表示されますが、この履歴をダブルクリックするとその時点にファイルが戻ります。

試してみましょう。

1)「master」をクリックして履歴を表示する。

2)「1st commit」をダブルクリックします。

3)「作業コピーの切り替えの確認」ダイアログが表示されますので「OK」をクリックします。

4)「HEAD」がダブルクリックした1行目に表示されます。

5)ファイルを開いてみると変更前の状態に戻っていることが確認できます。

この状態はあくまでも一時的なものですのでファイルの変更は行わないこと、確認が終わったら最新のコミットをダブルクリックして元の状態に戻すことを忘れないでください。

正式に状態を戻す方法は「コミットの削除」を行います。次項を参照ください。

スポンサードサーチ

7.コミットを削除してファイルの状態を戻す。

前項では一時的にファイルを過去のコミット時点に戻してみましたが、今度は2回目の変更が不要だったと想定して2回目の更新(コミット)を破棄して過去の時点に戻してみましょう。

1)最初のコミットを右クリックして「現在のブランチをこのコミットまでリセット」をクリックします。

2)確認のダイアログが表示されます。使うモードは「ハード」を選択して「OK」をクリックします。

3)更に確認のダイアログが表示されますので「OK]をクリックします。

 

4)ファイルを確認すると最初の状態に戻っていることが分かります。

これでファイルに行った変更が無かったことにできましたので引き続きファイル更新することが可能です。

8.まとめ

今回はgitをGUIで操作できるSourcetreeでファイルの更新をコミットしたり変更を無かったことにして元に戻すことが出来るところまで紹介しました。

最初のステップとしてコミットの操作が理解いただけたと思います。

何度か試して操作に慣れてみて下さい。

Git

Posted by garnet