【Git】Gitコマンドまとめ

Git

普段なにげなく使っている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

退避一覧すべてを削除する。

参考サイト

作業別Gitコマンド集 - Qiita