ソフトウェア - Git GuiとGitk

提供:MochiuWiki - SUSE, Electronic Circuit, PCB
ナビゲーションに移動 検索に移動

概要

Gitの初心者は、まずは、Git Gui / Gitkを使用してみることを勧める。
ここでは、簡単な部分のみ記載する。


リポジトリの作成

バージョン管理を始めるには、初めに変更履歴のリポジトリ(保存庫)を準備する必要がある。
次のようにして作成する。

  1. git guiコマンドを実行する。
    (Windowsでmsys版Gitを使用している場合は、フォルダ内で右クリックして、[Git GUI]メニューを選択する)

  2. Git Guiの画面上で、[新しいリポジトリを作る]を選択する。
    Git管理したいファイルのあるディレクトリを選択して、[作成]ボタンを押下すると、選択した場所にリポジトリが作成される。

  3. なお、Github等で公開されているソースコードを複製して開発を始める場合、[既存リポジトリを複製する]を選択する。
    [ソースの位置]に、"git://..."または"http://..."等のリポジトリのパスを指定して、
    [先ディレクトリ]に複製先のローカルパスを入力して、[複製]ボタンを押下すると、リポジトリが複製される。

  4. リポジトリの作成後は、自動的に[リポジトリ][編集]等のメニューのある別の画面に切り替わる。

  5. [新しいリポジトリを作る]や[既存リポジトリを複製する]のどちらを選択した場合も、
    作成先または複製先のディレクトリの下に.gitディレクトリが自動的に作成されていることが確認できる。
    Gitはこの.gitディレクトリの下にファイルの変更履歴を蓄積していくことになる。


例 : コマンドラインでのリポジトリの作成

新しいリモートリポジトリを作成する : git init --bare --shared
新しいローカルリポジトリを作成する : git init
既存のリポジトリを複製する : git clone URL 複製先パス



Git Guiの設定

バージョン管理をする目的の1つとして、誰がいつどのような更新したのかを記録して、その情報を共有することである。
そして、"誰が"という情報は、事前にGitに設定する必要がある。
次のようにして、Git Guiに名前とメールアドレスを設定する。

  1. Git Guiの起動画面で、[編集] - [オプション]メニューを選択する。

  2. 右側の[大域(すべてのリポジトリ)]にあるユーザ名、メールアドレスに自分の情報を入力して保存する。
    もし、リポジトリごとに別の名前で作業する場合は、右側ではなく左側にあるユーザ名、メールアドレスに情報を入力する。
    右側の設定は、OSのユーザごとに設定される共通の設定で、左側の設定は、リポジトリごとに設定できる個別設定である。
    なお、左側の設定の方が優先される。

例 : コマンドラインでの設定

ユーザ名を設定する : git config --global user.name "名前"
メールアドレスを設定する : git config --global user.email "メールアドレス"



コミットの実行

ここでは、Git Guiにて、ファイルのスナップショットを記録する。
(ファイルのスナップショットを記録することを、バージョン管理ツールの用語では、コミットするという)

  1. Git Guiの画面左上にある[コミット予定に入っていない変更]項目に、追加 / 変更 / 削除したファイルの一覧が表示される。
    (最新の状態に更新したい場合は、[再スキャン]ボタンを押下する)

  2. ファイル名を選択すると、画面右側に変更前後の差分が表示される。
    ここで変更内容を確認して、コミット対象に含めるかどうかを判断する。

  3. コミット対象のファイルがある場合は、ファイルのアイコンを選択する。
    [ステージングされた(コミット予定の)変更]項目にファイルが移動する。
    なお、ファイルの一部変更のみをコミット対象に含める場合は、
    画面右側の差分表示部分で、当該箇所にマウスカーソルを移動した状態で右クリックすると、その箇所のみをコミット対象に含めることができる。
    また、[ステージングされた(コミット予定の)変更]項目にあるファイルのアイコンを選択すれば、ステージングを取り消すことができる。

  4. 登録するファイルを全て[ステージングされた(コミット予定の)変更]項目に移動させたら、
    画面右下のコミットメッセージ項目に、その変更の概要を入力して[コミット]ボタンを押下する。
    画面左下に、[コミット xxxx を作成しました]と表示されればコミットが成功している。


例 : コマンドラインでの変更の記録

変更したファイルの情報を表示 : git status
ファイルの差分確認 : git diff [--cached]
ステージングや取消方法は、git status の出力を参照のこと。



変更履歴の確認

gitkコマンドを実行すると、変更履歴がGUIにて確認できる。

Gitkの画面上部にある点1つ1つがコミットを表わしており、新しいコミットが上、古いコミットは下に表示される。
それぞれのコミットの隣には、コミットメッセージの1行目とコミットしたユーザ名、コミット日時が表示される。

コミットメッセージを選択すると、画面左下に、そのコミットの詳細(コミットメッセージや修正前後の差分)が表示される。
また、画面右下には変更したファイルの一覧が表示され、ファイル名を選択すると画面左下がスクロールして、選択したファイルの差分が確認できる。

中央にあるのは検索フォームで、コミットメッセージ等が検索できる。

標準の設定では、全てのコミット履歴が表示されるので、多くコミットされたリポジトリを開く場合は時間が掛かる場合がある。
そのような場合、gitk -nコマンドを実行すると、n件のコミットのみに絞った表示ができる。
その他にも、gitkコマンドのオプションは沢山あるので、マニュアルを参照するとよい。

また、コミット部分を選択するとメニューが表示されて、そこから様々な操作ができる。