Gitの基本的な使い方
『WEB+DB PRESS Vol.50』の「はじめてのGit」にあるチュートリアル「ひとりで使う、Gitの基本的な使い方」をやってみたので、頻繁に使いそうなコマンドをまとめてみた。
やや直感的だが、全体像を図にするとこんな感じだろうか。
リポジトリの初期化
作業ディレクトリ内に ".git"という不可視ディレクトリができる。
$ git init
基本設定の確認
コミットに記録されるユーザー名、メールアドレスが確認できる。
$ git var GIT_COMMITTER_IDENT $ git var GIT_AUTHOR_IDENT
コミットするファイルの指定
現在のワークツリーの状態を記録してほしいと依頼する。gitはインデックスにそれを記録する(ステージするとも言う)。 初回はトップレベルのディレクトリ以下"."を指定する。 ※ コミットとは、ある時点のプロジェクトの状態を記録したもの。
$ git add .
特定のファイルやディレクトリを指定することもできる。
$ git add パス...
ファイル指定などはせず、一括でリクエストしたい時。
$ git add -u
論理的に関連のない変更を別々に記録したい時(yes, noで対話的に選ぶ)。
$ git add -p
新しく作成されたファイルも含めて記録したい時。
$ git add -A
コミットの実行
"-m"でコミットに記録するログメッセージを指定できる。出力の「2d8f1e9」はコミットオブジェクトのオブジェクト名(先頭数文字)。
$ git commit -m "Jupitterホームページ" [master (root-commit) 2d8f1e9] Jupitterホームページ 1 files changed, 9 insertions(+), 0 deletions(-) create mode 100644 index.html
addなしで一括でコミットしたいとき("git add -u"に続けてすぐ"git commit"を実行するのと同義)。
$ git commit -a -m 'メッセージ'
変更点を確認しながらログメッセージを残したいとき(エディタが起動し"git diff --cached"の出力も表示される)。
$ git commit -v
変更を確認
まだaddしていないものが表示される(インデックスとワークツリーの違い)。「@@ -5,5 +5,11 @@」というのは「変更前5行目から開始しトータル5行を表示。変更後5行目から開始しトータル11行を表示」を意味する。
$ git diff diff --git a/index.html b/index.html index c60364e..36401f4 100644 --- a/index.html +++ b/index.html @@ -5,5 +5,11 @@ .....
最新のコミットとワークツリーの違い。
$ git diff HEAD
最新のコミットとインデックスとの違い。
$ git diff --cached
変更履歴を確認
すべてのコミットを順に出力する。
$ git log
出力するコミットの数を制限する。
$ git log -2
変更内容も表示する(たくさん出てくるので上と組み合わせるのがベター)。
$ git log -p
プレビューを確認
今の状態で"git commit"を実行したら、どのファイルへの変更がコミットされ、どのファイルへの変更はコミットされずに残るかを確認できる。
$ git status
コミットの内容を確認
引数がない場合は"git show HEAD"を同じ。コミットオプジェクトを指定すればその内容が見られる。
$ git show
コミットの依頼を取り消す
引数がない場合はインデックスが現在のHEADと同じになる。ファイルやディレクトリを指定すればそれに加えた変更は次のコミットに含まれない。
$ git reset


Comments (0)
Add a Comment