自分が独断と偏見で選んだ、よく使うgitコマンド集。
gitコマンドよく忘れちゃう人に捧ぐ。
こんなのもよく使うぜ!っての大募集☆
INDEX
コミット系
コミットの流れ
# ブランチ切り替え(修正用ブランチ)
git checkout yuta
# 修正したファイルを確認
git diff
# 修正したファイルをインデックスに追加
git add .
# インデックスに追加されたファイルを確認
git status
# コミット
git commit -m "write commit message."
# マージ先ブランチに切り替え
git checkout dev
# マージ
git merge yuta
一部add
git add -p
同じファイルだけど一部の変更だけコミットしたいというときはgit add -pを使います。
ファイルの削除
git rm FILE
git commit -m "delete."
コミット漏れが有った時
git add hogehoge
git commit -m "commit hogehoge and uaua."
// uauaのコミット漏れ
git add uaua
git commit --amend
gitignoreが効かない時
一度コミットしてしまったものは追跡対象となってしまう。
ので、きちんとgitから削除する。
git rm hogehoge (<-対応->git commit hogehoge)
git rm --cached hogehoge (<-対応-> git add hogehoge)
戻す系
直前のコミット削除(修正したソースはそのまま)
git reset --soft HEAD^1
2個のコミット削除(ソースも戻す)
git reset --hard HEAD^2
戻すコミット、2個じゃなくて一つだけだった!
git reflog (resetする前のコミット情報もまとめて確認)
git reset --hard HEAD@{1} (以前の状態に戻す)
git reset --hard HEAD^1
PUSHしたコミットを取り消す
git push origin +{$commit_id}:{$branch_name}
ファイルを特定のバージョンに戻す
# ファイルの中身確認(戻したいファイルを確認)
git show HEAD^:path/to/file
# 戻す
git checkout HEAD^ path/to/file
その他
フォーク最新化
# first method
git pull git@github.com:urataka/ACM.git master
# second method
git remote add jugyo git://github.com/jugyo/termtter.git
git fetch jugyo
git merge jugyo/master
# common
git push origin master
gitブランチ作成・切り替え
git branch <branchname> // 作成
git checkout <branch> // 切り替え
-b オプションを付けると、ブランチの作成と作成したブランチへの切り替えを1コマンドで実行できます。
diffでファイル名のみ表示
git diff --name-only
コミットログからキーワード検索
git log --grep="hogehoge"
patchファイル作成
git diff HEAD^ HEAD > tite.patch
# 特定ファイルのみ出力したい場合
git diff HEAD^ HEAD path/to/file > tite.patch