ひつじTips

技術系いろいろつまみ食います。

オレオレgitをまとめる

なんかいっつもググってるので,いい加減まとめる.

自分用なので,特に詳細な解説はなしで

コミットするとき関連

部分的に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

が結構よさげ