Gitコマンドまとめ100選!あなたはいくつ使える?
はじめに
Gitコマンド一覧を作ってみました!毎回調べてるのも手間なので、ここに一挙集結させるぞー!という意気込みで作りました。Gitコマンドの理解度チェックやGitコマンド逆引き用にも役に立つと思いますので、是非使ってみてください。
Gitコマンドまとめ100選!
-
git init
リポジトリをカレントディレクトリに作成する。 -
git init [DIRECTORY]
カレントディレクトリに指定したディレクトリ名のリポジトリを作成する。 -
git init –bare
ベアリポジトリを作成する。 -
git init –shared
リポジトリを作成する。リポジトリへのグループ書き込み権限を追加する。 -
git clone ssh://[USER]@[HOSTNAME OR IPADDRESS]:22/[GIT-DIRECTORY-PATH]
既存リポジトリの複製(SSH(ポート22のとき)) -
git clone http://[HOSTNAME OR IPADDRESS]:80/[GIT-DIRECTORY-PATH]
既存リポジトリの複製(HTTP(ポート80のとき)) -
git clone https://[HOSTNAME OR IPADDRESS]:443/[GIT-DIRECTORY-PATH]
既存リポジトリの複製(HTTPS(ポート443のとき)) -
git clone file:///[GIT-DIRECTORY-PATH]
既存リポジトリの複製(ローカルのとき) -
git config –global user.name [USERNAME]
現在のユーザーの全コミット時の名称を設定する。 -
git config –global user.email [USERMAIL]
現在のユーザーの全コミット時のメールアドレスを設定する。 -
git config –global –edit
設定ファイルの編集を行う。 -
git log
コミットログを確認する。 -
git log –oneline
コミットログを確認する。
(1行1コミット) -
git log –author=”[USERNAME]”
指定ユーザのコミット履歴を表示する。 -
git log –grep=”[REGEXPATTERN]”
正規表現でコミットメッセージを検索。ヒットしたコミットを表示する。 -
git log [FILE]
指定ファイルのコミット履歴を確認する。 -
git log –author=”[USERNAME]” -p [FILE]
指定ユーザが指定ファイルに対して行ったコミット履歴を確認する。 -
git status
リポジトリ内での追加/変更ファイルの確認 -
git show
最新コミットの内容を表示する。 -
git show [TAG]
指定したタグのコミット内容を表示する。 -
git show-branch
ブランチの作成・変更・マージなどの履歴を表示する。 -
git diff
インデックスと作業ディレクトリの差分を表示する。 -
git diff –cache
HEADとインデックスの差分を表示する。 -
git diff [COMMITID1] [COMMITID2]
2つのコミットの差分を表示する。 -
git diff [FILE]
指定したファイルの差分を表示する。 -
git reflog
HEADの移動情報のログを確認する。
(誤ってhardリセットしてしまったときなどはこれを参照して元に戻れる。) -
git reflog –relative-date
相対日付でreflogを表示する。 -
git tag
タグの一覧を表示する。 -
git tag [TAG]
現在のコミットにタグ付けする。 -
git tag [TAG] [COMMITID]
指定したコミットIDにタグ付けする。 -
git tag -d [TAG]
指定したタグを削除する。 -
git add [FILE1] [FILE2] … [FILEn]
コミットファイルの指定(インデックスに追加される) -
git add .
カレントディレクトリの内容を全てインデックスに追加する。 -
git rm [FILE]
指定したファイルを作業ディレクトリとインデックスから削除する。 -
git rm –cache [FILE]
指定したファイルをインデックスから除外する。 -
git rm -r [DIRECTORY]
指定したディレクトリ以下を再帰的に削除する。。 -
git mv [FILEOLD] [FILENEW]
ファイルをリネームする。 -
git mv [FILE] [DIRECTORY]
指定したファイルを指定ディレクトリへ移動 -
git commit
git addで指定されていたファイルのコミット -
git commit -a
Git管理対象ファイルを全てコミットする。 -
git commit -v
変更箇所を表示してコミットする。 -
git commit -m “[MESSAGE]”
コミットメッセージを指定した状態でコミット -
git commit –amend
直前のコミットの内容を現在のステージング内容と結合して上書き
(共有リポジトリにプッシュしたものについては行わないようにする) -
git reset HEAD
インデックスを取り消す(=git addの取消し) -
git reset HEAD^
HEADを一つ前の状態に戻し、インデックスは取り消し。 -
git reset –soft HEAD
これは特に変化なし。 -
git reset –soft HEAD^
HEADを一つ前の状態に戻す。
(softオプション有りなのでインデックス&作業ディレクトリは変わらず) -
git reset –mixed HEAD
「git reset HEAD」と同様。 -
git reset –mixed HEAD^
「git reset HEAD^」と同様。 -
git reset –hard HEAD
作業ディレクトリの内容もHEADと同様になる。
(最終コミット後の作業ディレクトリにおける修正が全て戻る) -
git reset –hard HEAD^
作業ディレクトリの内容も1つ前のコミットの状態に戻る。 -
git reset [COMMITID]
指定したコミットIDの状態に戻る。 -
git revert [COMMITID]
指定したコミットを打ち消すコミットを作成する。 -
git revert –continue
revertを継続する。 -
git revert –abort
revertをする前の状態に戻る。 -
git stash
作業ディレクトリとインデックスの変更内容をスタック領域に隠す。 -
git stash list
stashを一覧表示する。 -
git stash apply
最新stash内容を現在のブランチに戻す。
(stashリストには内容は残る) -
git stash drop stash@{[NUMBER]}
指定した番号のstashをリストから削除する。 -
git stash pop
最新stash内容を現在のブランチに戻す。
(stashリストからも削除される) -
git stash pop stash@{[NUMBER]}
指定した番号のstashを現在のブランチに戻す。
(stashリストからも削除される) -
git stash clear
全stashをリストから削除する。 -
git cherry-pick [COMMITID]
別ブランチの指定したコミットIDを現在のブランチに適用(新たにコミットが追加)する。 -
git checkout [BRANCH]
指定ブランチをチェックアウトする -
git checkout [COMMITID]
作業ディレクトリを指定したコミットIDの状態にする。 -
git checkout -b [NEW-BRANCH] [COMMITID]
新ブランチを指定したコミットIDから作成する。 -
git checkout -b [NEW-BRANCH] [ORG-BRANCH]
新ブランチを元ブランチから作成する -
git branch
ローカルブランチ一覧を表示する。 -
git branch -r
リモートブランチ一覧を表示する。 -
git branch -a
ローカル&リモートブランチ一覧を表示する。 -
git branch [BRANCH]
現在のブランチから指定したブランチを作成する。 -
git branch -d [BRANCH]
指定したブランチを削除する -
git merge [BRANCH]
指定したブランチを現在のブランチにマージする -
git merge [BRANCH] –no-commit
指定したブランチを現在のブランチにマージする。コミットはしない。 -
git merge –no-ff [BRANCH]
指定したブランチを現在のブランチにマージする。
(fast-forwardマージが可能であったとしても、新たにコミットを作成する) -
git merge –squash [BRANCH]
指定したブランチの全コミットを、ひとつのコミットとしてまとめて現在のブランチにマージする。 -
git rebase [BRANCH]
現在のブランチを指定ブランチにリベースする -
git rebase -i [BRANCH]
現在のブランチを指定ブランチにリベースする
(現在のブランチのコミット履歴を確認し、結合したりしてからリベースできる) -
git rebase –continue
リベースを続ける。 -
git rebase –abort
リベースを中断する。
(リベースを開始する前の状態に戻る) -
git remote
リモートリポジトリへの接続一覧を表示する。 -
git remote add [REMOTENAME] [URL]
リモートリポジトリへの新規接続を作成する。 -
git remote rm [REMOTENAME]
リモートリポジトリ接続を削除する。 -
git remote rename [REMOTENAMEOLD] [REMOTENAMENEW]
リモートリポジトリ接続名を変更する。 -
git fetch [REMOTENAME]
リモートリポジトリから全ブランチをフェッチする。 -
git fetch [REMOTENAME] [BRANCH]
指定したリモートリポジトリから指定したブランチをフェッチする。 -
git fetch -p
リモートブランチで消去されたブランチをローカルブランチから消す。 -
git pull [REMOTENAME] [BRANCH]
指定したリモートリポジトリから指定したブランチをフェッチ+現在のブランチにマージする。 -
git pull –rebase [REMOTENAME]
指定したリモートリポジトリから全ブランチをフェッチ+現在のブランチにリベースする。 -
git push [REMOTENAME] [BRANCH]
指定したリモートリポジトリの指定したブランチへ現在のブランチをプッシュする。 -
git push -u [REMOTENAME] [BRANCH]
現在のブランチの上流を指定したリポジトリの指定ブランチとする。 -
git push [REMOTENAME] –force
fast-forwardマージ以外であっても強制的にプッシュを行う。 -
git push [REMOTENAME] –all
全てのローカルブランチをリモートリポジトリへプッシュする。 -
git push –delete [REMOTENAME] [BRANCH]
指定したリモートブランチを削除する。 -
git push [REMOTENAME] :[BRANCH]
指定したリモートブランチを削除する。
(git push –delete [REMOTENAME] [BRANCH]と同様) -
git clean
Git管理対象外のファイルを削除する。 -
git fsck –full
リポジトリのチェックを行う。 -
git gc
リポジトリ内の不要オブジェクトを削除する。 -
git mergetool
Gitマージツールを使う。 -
git archive -o [ZIP] HEAD
HEADのコミット内容を指定したZIPファイルにアーカイブする。
おわりに
いかがだったでしょうか?沢山あって困りますよね。コマンドじゃなくてGUIで操作したいよーという方は、こちらの記事を参考にして下さい!Eclipse限定だけど、GUIでの操作が分かると思います。
- EclipseでGitを使う(1)Gitリモートリポジトリを構築する。
- EclipseでGitを使う(2)リモートリポジトリへプロジェクトをプッシュする。
- EclipseでGitを使う(3)リモートリポジトリのプロジェクトを取得する。
- EclipseでGitを使う(4)プッシュまでの流れをまとめる。
- EclipseでGitを使う(5)競合を解消する。
- EclipseでGitを使う(6)マージツールを使う。
- EclipseでGitを使う(7)コミットをリセットする。
- EclipseでGitを使う(8)プッシュをリセット(revert)する。
- EclipseでGitを使う(9)ブランチを作る。
- EclipseでGitを使う(10)ブランチをプッシュする。
- EclipseでGitを使う(11)ブランチをリベースする。
- EclipseでGitを使う(12)チェリーピックを使う。
- EclipseでGitを使う(13)タグを付ける。
TechProjin 開発系基礎講座 連載リンク
基礎からPHPWEBアプリ解発を学ぶなら・・
PHP基礎 連載
AIなどで注目急上昇!これから学ぶならPython!!
独学で学ぶ-pythonプログラミング 連載
汎用性◎ 定番プログラミング言語JAVA
Java基礎講座 連載