Gitの基本的な使い方: Gitコマンド

05/07/2021

基本操作

Gitに慣れ親しむために、少し時間を取って実際にコマンドを実行し、挙動を確認しておくとよいでしょう。
デスクトップなどにディレクトリーを作成し、各コマンドを実行するだけですので難しくはありません。

init

git init

Git管理したいディレクトリに移動後コマンドを実行するとリポジトリ(.gitディレクトリ)を作成します。
コマンドを実行したディレクトリ以下に作成するディレクトリ構造をワークツリーと呼び、ワークツリーでの変更をリポジトリに記録し管理していきます。
リポジトリに記録することにより、過去のデータも自由に取り出すことができるようになります。

Gitでの管理を辞めたくなった場合はリポジトリ(.gitディレクトリ)を削除するだけです。
練習用に作成したり削除したり、挙動を確認してみるとよいでしょう。

add

git add ファイル名.txt

Gitではコミット前に対象ファイルをステージ領域(インデックスというデータ構造)に登録する必要があります。

ステージ領域に登録することをステージングするという場合が多いようです。
上記コマンドでワークツリーで作成したデータをステージングし、コミット前状態にします。

ワークツリーにある全ファイルを一括してステージングする場合はファイル名ではなく.(ピリオド)を指定し以下のようにコマンドを実行します。

git add .

commit

git commit

ステージ領域に登録されているデータをGitリポジトリに記録します。
リポジトリに記録したデータは、以降自由に取り出し復元することができるようになります。

後述する-mオプションを指定しない場合はコメントを記述するエディタが立ち上がります。
ここで起動するエディタは設定ファイルで指定したエディタです。
参考:Gitの基本的な使い方: Gitの設定

ログ確認コマンドやツールは以下のフォーマットを前提に作られていますので、フォーマットに準拠して記述するとよいでしょう。

1行目:コミットする変更内容の要約(タイトルや概要)
2行目:空行
3行目:変更した理由や詳細を記述

1行目の要約の先頭にはコミットの目的が一目でわかるよう、以下のようなコミット種別を記述しておくことが多いようです。
この辺りは個人的な拘りがあったりしますので、チームでルールを決めておくとよいでしょう。

  • add : ファイルの追加
  • fix : バグ修正
  • hotfix : クリティカル(致命的)なバグの修正
  • update : 機能修正(バグではない)
  • change : 仕様変更
  • clean : 整理(リファクタリングなど)
  • remove : ファイルの削除
  • upgrade : バージョンアップ

またGitHubなどのリポジトリ管理ツールを使用する場合、特定の文字列を入力するとGitHubと連携することが出来ます。
例えばIssueと紐づけるためにIssue番号(例:#12)を記述したり、fixやcloseと記述することでIssueをclose状態に変更したりすることができます。

何も編集せずにエディタを終了すればコミットはキャンセルされます。

-mオプション

git commit -m “コミットメッセージ"

エディタを立ち上げず、1行コメントを指定してコミットします。
詳細が必要ない場合などはコミット種別を付与し、このコミットでもよいでしょう。

-amオプション

git commit -am “コミットメッセージ"

git addによるステージングと、git commit -m “コミットメッセージ"を同時に実行します。

status

git status

現在のGit管理状態を確認できます。
どういった情報が得られるのか確認しておきましょう。

ログ表示

log

git log

現在のブランチ全体のログを表示します。
コミットしたユーザーやメールアドレス、日時、コミットを特定するハッシュ値が表示されます。

log ディレクトリ名/ファイル名

git log ディレクトリ名/ファイル名

ディレクトリ名やファイル名を指定することでログ表示する対象を絞り込むことができます。

–pretty=shortオプション

git log –pretty=short

ログの要約を表示します。

-pオプション

git log -p

コミットで行われた差分が表示されます。
他のオプションと組み合わせることができます。
git log -p README.md
とすればREADME.mdのコミットログと差分が表示されます。

–graphオプション

git log –graph

複数のブランチを使って開発している場合、分岐やマージをグラフでわかりやすく表示します。

比較表示

diff

git diff

ワークツリー、ステージ領域の差分を確認するコマンド。
慣れるまでは表記がわかりにくいのでいろいろ試して何度も確認してみるとよいでしょう。

diff HEAD

git diff HEAD

ワークツリー、HEADの差分を確認するコマンド。
HEADは現在の最新コミットがどこにあるかを表すポインタです。

Advertisements

Toolgit

Posted by codive