Skip to content

Instantly share code, notes, and snippets.

@udzura
Last active October 7, 2015 10:17
Show Gist options
  • Star 9 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save udzura/3149149 to your computer and use it in GitHub Desktop.
Save udzura/3149149 to your computer and use it in GitHub Desktop.
Fxcking git cheet sheet
# stage の操作
git add . # stage に加える
git add -p # stage にインタラクティブに加える
git add -N . # stage にファイルだけ加える
git rm hoge/hoge.rb # stage から消す
git rm -f hoge/hoge.rb # stage から無理矢理消す、先にファイルを消してしまった場合
git mv hoge/hoge.rb hoge/hoge2.rb # ファイル名変える
# 差とか状態を確認する系
git diff # HEADとunstagedの差分を確認する
git diff --cached # staged の差分を確認する
git diff HEAD~..HEAD # 一つ前のコミットと現在の差分を確認する
git diff HEAD~..HEAD --stat # 一つ前のコミットと現在の変更点をざっくり確認する
git status # 現在のstage, unstageの状態
git status -s # 現在の状態を短く、シェルスクリプト加工用
# リモートブランチとうまいことやっていく
git push origin HEAD:refs/for/master/hogehoge # 現在のブランチをプッシュする(gerrit用)
git push origin HEAD:working_tree # 現在のブランチをプッシュする
git pull --rebase # 最新のブランチを取ってくる。リモートの同じ名前のブランチ
git fetch origin # リモートブランチの情報だけを更新する。 origin/master で参照できる
# レビューとかでよく使う
git checkout -b features/hogehoge # 新しくブランチを作成
git rebase master # 今のブランチのあれこれを master に載せ変える、masterでの変更を反映させる
git rebase --onto master features/X features/Y # features/Y(省略するとカレントブランチ)〜features/X の根っこのところまで の変更を、 master のてっぺんに挿し木
git merge origin/master # 今のブランチの上にリモートのmasterの情報を入れこむ。覚え方:rebaseは後ろに、mergeは前に
git stash # 今のunstagedやstagedをとりあえずほかしとく
git stash pop # ほかした更新を戻す
git commit -m "Hoge" # コミットする
git commit --amend # 前のコミットに今の変更を混ぜ込む
git rebase -i # 歴史をインタラクティブに改変する
git cherry-pick deadbeaf12345678 # どこかからコミットを一つだけ引っ張って来て反映
# 無かったことにする系
git revert deadbeaf12345678 # コミットを無かったことにする(逆の動きの)コミットを作る
git revert -n deadbeaf12345678 # コミットを無かったことにする(逆の動きの)コミットを作る、一応コミット自体はしない
git reset HEAD~ # コミットを一つ戻す、変更はunstagedで残す
git reset --soft HEAD~ # コミットを一つ戻す、変更はstagedで戻す
git reset --hard HEAD~ # コミットを一つ戻す、変更点も無かったことにする
git checkout -- . # ごちゃごちゃ作業してたのを無かったことにする
# 無いと死ぬ
git grep "class Hoge" # このコマンドが無いと死ぬ
# 便利コミットログ閲覧ツール
brew install tig && tig
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment