Git コマンド


よく使いそうな 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 liststash に保存した作業ツリーを一覧表示
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" /]

カテゴリー: 記事 タグ: パーマリンク

コメントを残す