なんかいっつもググってるので,いい加減まとめる.
自分用なので,特に詳細な解説はなしで
コミットするとき関連
部分的にAdd
$ git add -p <filepath (optional)> # Stage this hunk [y,n,q,a,d,/,j,J,g,e,?]? に対しては, # y: 入れる # n: 入れない # s: さらに分割 # e: エディタで分割
Addした内容の確認
$ git diff --cached <filepath (optional)>
コミット間違えたとき関連
commitの取り消し
$ git reset --soft HEAD^ $ git reset --hard HEAD^
addの取り消し
$ git reset <file>
addし忘れてcommitしちゃったとき
$ git add <addし忘れた追加分> $ git commit --amend
直前のコミットのメッセージ修正
$ git commit --amend
なんかいろいろバグった...ローカルは死んでもいいから,リモートの状態を強制的にローカルに持って来たいとき
$ git fetch origin master $ git reset --hard origin/master
リモートとのやりとり
リモートの別ブランチを取ってくるとき
$ git branch <new branch name> origin/new-branch
マージコミットなしでpull
$ git pull --ff origin master
git configにいれてしまう
$ git config --global --add pull.ff only
tag関連
今のブランチのtagを確認
$ git tag -l
指定のtagにcheckout
$ git checkout refs/tags/<tag名> $ git checkout -b <ブランチ名> refs/tags/<tag名>
git submodule関連
まず最初に持ってくるとき
$ git submodule add https://github.com/xxx/yyy.git <dir>bootstrap
コミットメッセージ関連
https://gist.github.com/mono0926/e6ffd032c384ee4c1cef5a2aa4f778d7
が結構よさげ