普段なにげなく使っているGitですが、人間なのでコマンドを忘れることもよくあります。
そこで、個人的によく使用するコマンドを自分用にまとめました。
取得操作
リモートからクローンする
$ git clone https://xxx/xxx.git
リモートからクローンする(ブランチ指定)
$ git clone https://xxx/xxx.git -b <ブランチ名>
指定したブランチを元にクローンする。
リモートから変更を取得する
$ git fetch
リモートから変更を取得する(ローカルにマージ)
$ git pull
作業内容をリモートに反映するまでの操作
リモートとローカルのファイルの差分を抽出する
$ git diff <ファイル名>
ローカルの変更を確認する
$ git status
変更したファイルを一覧表示する。
ファイルを登録する
$ git add <ファイル名>
変更したファイルを指定して、登録する。
ファイルを登録する(すべてのファイル)
$ git add -A
変更したファイルをすべて登録する。
ファイルを登録する(すべてのファイル・カレントディレクトリ配下)
$ git add .
カレントディレクトリ配下の変更したファイルをすべて登録する。
ファイルの変更や追加をコミットする
$ git commit -m "message"
登録したファイルをコミットする。
リモートにプッシュする
$ git push origin <ブランチ名>
取り消し操作
コミットの取り消しをする
$ git reset --hard HEAD^
--hard:コミットを取り消し、作業ディレクトリの内容も書き換える
--soft:コミットを取り消し、作業ディレクトリの内容は書き換えない
HEAD^:直前のコミット
HEAD~{n} :n個前のコミット
ブランチ操作
ブランチ一覧を表示する
$ git branch -a
オプションなし:ローカルのブランチのみ
-r:リモートのブランチのみ
-a:すべてのブランチ
ローカルでブランチを作成する
$ git branch <ブランチ名>
ローカルでブランチを切り替える
$ git checkout <ブランチ名>
ローカルでブランチを作成して切り替える
$ git checkout -b <ブランチ名>
ローカルのブランチを削除する
$ git branch -d <ブランチ名>
ローカルのブランチをリモートに反映する
$ git push -u origin <ブランチ名>
リモートのブランチを元にローカルのブランチを作成する
$ git branch <ブランチ名> origin/<ブランチ名>
リモートのブランチを元にローカルのブランチを作成して切り替える
$ git checkout -b <ブランチ名> origin/<ブランチ名>
ブランチを統合する
$ git merge <ブランチ名>
マージ対象のブランチに移動後、取り込み元のブランチを指定してコマンドを実行する。
退避
変更を退避する
$ git stash save
saveは省略可
変更を退避する(メッセージ付き)
$ git stash save "message"
メッセージを加えて退避する。
変更を退避する(新規ファイル込み)
$ git stash -u
addしていないファイルも退避対象とする。
変更を退避する(メッセージ付き・新規ファイル込み)
$ git stash save -u "message"
addしていないファイルも退避対象とし、メッセージを加えて退避する。
退避一覧を表示する
$ git stash list
退避一覧を表示する。
退避に加えたメッセージもここで表示される。
退避を元に戻す
$ git stash apply stash@{0}
git stash apply stash名 で退避を元に戻す。
stash名の指定がない場合、直近の退避を元に戻す。
退避を削除する
$ git stash drop stash@{0}
git stash drop stash名 で退避を削除する。
退避一覧を削除する
$ git stash clear
退避一覧すべてを削除する。