#Gitコマンドチートシート
ググると大量に出てくるチートシートだけどいまいちしっくり来る分類のものがなかったので自作。
詳しい説明とかはブログに掲載した。 ->【Git入門】Gitを使い始めたい人へ「Gitの導入」 ~A Beginner to Beginners~ 【その1】
##リポジトリの作成
ローカルリポジトリの作成
$ git init
リモートリポジトリのクローン
$ git clone <repository_url> <directry>
##Git設定
ユーザ名、Eメール設定
$ git config [--global] user.name "username"
$ git config [--global] user.email "email adress"
エディタ設定
$ git config [--global] core.editor <adress of editor>
バージョン確認
$ git --version
##作業ファイル関連
ファイル削除+削除をステージ
$ git rm <filename>
ファイル名を変更してコミット
$ git mv <file-original> <file-renamed>
##インデックスの操作
ステージする
$ git add <filename>
$ git add . #全ファイルadd
ステージしたくないファイルは「.gitignore」ってファイルを作って中にステージしたくないファイル名を書き込めばいい。
*~
とすれば「~」で終わるファイル全部スルーできる。
一度addした新規ファイルをインデックスから除外
$ git rm --cached <filename>
一度addした変更ファイルをインデックスから除外
$ git reset HEAD <filename>
インデックスをすべて空にする
$ git reset HEAD
インデックスにないファイルの差分を表示
$ git diff
##コミット関連
インデックスの内容をコミットする
$ git commit
コミットメッセージを簡易的に指定してコミットする
$ git commit -m "commit message"
前のコミットを取り消したコミットを作成する
$ git revert HEAD
ワークツリーとインデックスを維持して直前のコミットを取り消す
$ git reset --soft HEAD~
ワークツリーを維持して直前のコミットを取り消す
$ git reset HEAD~
直前のコミットの状態に完全に戻す
$ git reset --hard HEAD~
resetでのHEADの移動を取り消す
$ git reset --hard ORIG_HEAD
直前のコミットに上書きして修正する
$ git commit --amend
##ブランチ関連
ローカルブランチを一覧表示
$ git branch
リモートブランチも含めて一覧表示
$ git branch -a
新規ブランチを作成
$ git branch <new branchname>
新規ブランチを作成してそのブランチに切り替え
$ git checkout -b <new branchname>
既存のブランチに切り替え
$ git checkout <branchname>
ブランチを削除
$ git branch -d <branchname>
##マージ関連
現在branchAにいて、branchAにbranchBをマージ。fast-forwardできるときはして、できないときは新規コミットをつくる
$ git merge branchB
branchBをマージするがfast-forwardできてもしないで新規コミットをつくる
$ git merge --no-ff
branchBを一つにまとめてbranchAにマージ
$ git merge --squash branchB
##リベース関連
branchBの内容をbranchAにリベース
$ git checkout branchB
$ git rebase branchA
HEADの前に連続するn個のコミットをまとめる
$ git rebase -i HEAD~n
としたあと「pick」を「squash」に書き換え
HEADの前n個のコミット内容を修正する
$ git rebase -i HEAD~n
としたあと「pick」を「edit」に書き換え
その後書き換えたら
$ git add <filename>
$ git commit --amend
$ git --continue
rebaseを中断する
$ git rebase --abort
一つ前のrebaseを取り消す
$ git reset--hard ORIG_HEAD
##タグ関連
タグ一覧を表示する
$ git tag
タグを検索する(*が使用可能 [ex: v1.1.*])
$ git tag -l <word>
タグを現在の最新のコミットにつける
$ git tag <tagname>
注釈付きタグを最新のコミットにつける(-m
をつけなければエディタが起動)
$ git tag -a <tagname> -m "tag message"
過去のコミットにタグをつける
$ git tag <tagname> <commit>
##リモートリポジトリとの同期
ローカルリポジトリと同期するリモートリポジトリを登録
$ git remote add <repository_name> <repository_url>
repositoryのbranchにプッシュする
$ git push <repository_name> <branchname>
リモートリポジトリから履歴をダウンロード
$ git fetch <repository_name> <branchname>
リモートリポジトリから履歴をダウンロードし統合
$ git pull <repository_name> <branchname>
タグをリモートリポジトリでも共有する
$ git push <repository> <tagname>
##状態確認
現在の状態を確認
$ git status
履歴を表示
$ git log
logのオプション
[--follow] : 指定ファイルの履歴を表示
[--oneline] : 一行でコミット情報を表示
[--graph] : ツリー形式で表示
コミットの詳細を表示
$ git show <commit>
こんなもんかな?随時他にも使いそうなのあったら追加していく。