みの雑多ブログ

勉強したことをアウトプットしたり、しなかったり

Gitコマンドチートシート

よく使うやつ、ここに書く

ブランチのコミット履歴見る

git log --oneline --decorate

devブランチ最新化(プル)

git fetch origin
git merge origin/dev dev

リモートブランチ削除(GitHubの方も消え)

git push --delete origin ops/test_a

誰かが消したやつ(GitHubで消したやつ)を反映する

git fetch -p

変更したやつ全部stageにあげ、コミット、プッシュ

git add .
git commit
git push origin [プッシュするブランチ]

GitHubでプルリク作成後、コンフリクト発生時

GitHubの画像
f:id:yamami78651:20210309231347p:plain

  • マージしようとしているブランチの方にマージして競合を解消する方法
git fetch origin
git checkout -b feature/testB origin/feature/testB
git merge dev

→マージしようとしているブランチに変更が反映されるので、devの変更ありきのブランチになってしまう(独立性が失われる)

  • マージするブランチにそのままマージして競合を解消する方法
git checkout dev
git merge --no-ff feature/testB
git push origin dev

→マージ先にしか修正が反映されないので、別のブランチにアップするときにも同じことが発生することがある
→--no-ff「no fast-forword」の意

競合解決して、プッシュするとMerged
f:id:yamami78651:20210309233002p:plain

ファイル変更をいったん無視

 git update-index --assume-unchanged .gitignore

無視したのを戻ってこさせる

git update-index --no-assume-unchanged .gitignore

特定のコミットを反映する

git cherry-pick [取り込むコミットID]

スタッシュする&戻す

git stash
git stash apply --index