Last active
October 7, 2015 10:17
-
-
Save udzura/3149149 to your computer and use it in GitHub Desktop.
Fxcking git cheet sheet
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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