よく使いそうな Git コマンドのまとめです。
以下、git は省略します。
コマンドの詳細は以下を参照
用語の確認
Git では、プロジェクトのファイルが保存される場所は以下の3つに分けられます。
括弧内は別名です。
- リポジトリ
コミットの履歴やブランチなどが保存されている場所
- ステージングエリア (インデックス, 索引)
リポジトリと作業ツリーの間に位置し、リポジトリにコミットする前にコミットの内容を調整できる場所
- 作業ツリー (作業ディレクトリ)
実際にチェックアウトされたファイルのツリー
その他の用語は以下を参照
Git ユーザマニュアル
初期化
init [--bare] | GIT リポジトリを作成 |
日常作業
status | 作業ツリーとステージングエリアの状態を表示 |
diff [--cached] [ファイル名] | 差分表示 |
checkout ファイル名 | 作業ツリーの変更を元に戻す |
add [-p] [-i] [-u] [ファイル名] | ファイルをステージ |
reset [ファイル名] | アンステージ |
commit [-m "コメント"] | ステージされているファイルをコミット |
commit -a [-m "コメント"] | 変更されたファイルを全てステージ & コミット |
commit [-m "コメント"] --amend | 直前のコミットに上書きコミット |
log [-表示数] [--oneline] [--stat] [-C -C] [-p] | コミットログ表示 |
mv ファイル名 新ファイル名 | ファイル名を変更 |
stash [save [コメント]] | 現在の作業ツリーを stash に保存し、作業ツリーとステージングエリアの変更をリセット |
stash list | stash に保存した作業ツリーを一覧表示 |
stash (pop | apply) [stash@{番号}] | 最後に保存した作業ツリーを取り出す |
ブランチ・タグ
branch [-a] | ブランチを一覧表示 |
tag | タグを一覧表示 |
checkout ブランチ名/タグ名/オブジェクト名 | ブランチやタグなどをチェックアウト |
branch ブランチ名 | ブランチ作成 |
checkout -b ブランチ名 | ブランチ作成、同時にチェックアウト |
branch (-d | -D) ブランチ名 | ブランチ削除 |
branch -m ブランチ名 新ブランチ名 | 名前変更 |
merge ブランチ名 | 直接マージ |
merge --squash ブランチ名 | 圧縮コミット |
cherry-pick [-n] オブジェクト名 | チェリーピック |
リモートリポジトリ
clone [--bare] [--depth ダウンロードするコミット数] リポジトリのパス | リポジトリをクローン |
fetch [リモートリポジトリ] [refspec] | ブランチを取得 |
pull [リモートリポジトリ] | 変更を取得してマージ |
push [リモートリポジトリ] [ローカルブランチ[:リモートブランチ]] | 変更をプッシュ |
push [リモートリポジトリ] :リモートブランチ | リモートブランチを削除 |
remote add 名前 リポジトリのパス | 新しいリモートリポジトリを追加 |
Subversion との連携
svn clone [--prefix ブランチ名のプレフィックス/] [-s] リポジトリのパス [-r リビジョン] | SVN リポジトリをインポート |
svn rebase | 変更を取得 |
svn dcommit | 変更をプッシュ |
その他
help [コマンド名] | コマンドの説明を表示 |
blame [-L (開始行 | 正規表現), (終了行 | +-n)] [-C -C] [オブジェクトID] ファイル名 | 行ごとに最終変更情報を表示 |
reflog | ブランチに対する変更の履歴を削除されたものも含めて表示 |
gc [--aggressive] | 履歴の格納方法を最適化 |
[amazon asin="427406767X" /]