Contents
みんな大好き Git さま
ほんとにこれだけ!って書きましたが、自分にとってこれだけ!ってだけで皆さんにとってこれだけ!かは無視してますのであしからず。
というか、よく使うのによく忘れるから、完全に自分にとっての備忘録です。
前回ブログはこちらから↓
よく使う Git コマンド
ブランチを切る
git checkout -b 'ブランチ名'
ブランチ名を変更する
現在いるブランチのブランチ名を変えたいときは
git branch -m '変更したいブランチ名'
最新の master を取り込む
git pull origin master
欲しいコミットだけ取り込む
あるブランチの全ての変更を取り込むのではなく、一部のコミットだけ取り込みたい場合。
cherry-pickは本来「自分の気に入ったものだけをつまみ食いする」という意味があるそうですね、英語の意味を知っていればすんなり理解できるなぁ…
git cherry-pick <commit id>
現在のブランチから一時退避する
git stash
戻すときは、
git stash apply
過去のコミットの一覧を表示する
git log だと情報が多すぎるので、だいたいこれを使っている。
git log --oneline
空のコミットを打つ
テストコミットしたいときなど。
git commit --allow-empty -m "コミットメッセージ"
1つ前のコミットメッセージを変更する
よくタイプミスするので…
git commit --amend -m "変更したいコミットメッセージ"
2つ以上前のコミットメッセージを変更する
これ、何回やっても覚えられない!!
まずは rebase で最新から何番目のコミットを変更するのか指定。
git rebase -i HEAD~2 // これは2番目の場合
viエディタで pick の部分をeditに変更、
:wqでviエディタを離脱、
その後またターミナルに戻って、
git commit --amend -m "修正後のコミットメッセージ"
最後に rebase して無事に変更完了!
git rebase --continue
ちなみに、rebase を途中で中断するのは、
git rebase --abort
一時的に過去のコミットに戻る
git checkout <ハッシュ値>
過去に戻ったはいいけど、また最新の状態に戻りたい時って?
普通にこれでよかったw
git checkout <ブランチ名>
過去のコミットの状態に戻す
色々こねくり回したけど、あーやっぱ前のコミットの状態に戻りたい…なんて時に役立つ revert 。
revert は過去のコミットを消すことなく、逆向きのコミットを打つことで過去の状態に戻ることができます。過去のコミットは消された訳ではなくコミットの履歴は残ります。
git revert <戻りたいコミットのハッシュ値>
直前のコミットを消す
コミットと変更したファイルも一緒に戻す
git reset --hard HEAD^
現在のブランチの親ブランチを確認する
多分 develop から切ったけど、念の為確認したい〜(心配性)と言う時に便利。
git show-branch | grep '*' | grep -v "$(git rev-parse --abbrev-ref HEAD)" | head -1 | awk -F'[]~^[]' '{print $2}'
ローカルの変更を強制的に push する
git push -f origin <ブランチ名>
強制上書きなので、使用時は注意。
リモートのブランチを取得する
他のメンバーがリモートに push したブランチを自分のローカルに持ってきたい時など。
まずは fetch でリモートのブランチを取得
git fetch origin <リモートのブランチ名>
あとは checkout するだけ
git checkout <リモートのブランチ名>
merge の中断
git merge --abort
コンフリクトあちゃーってなった時よくやる。
よく使うコマンドはエイリアスに登録すると便利
毎回いちいち入力するの、面倒なので。
エイリアス登録方法について詳しくはこちら↓
コンフリクトした時にいつも迷うこと
「入力側の変更」「現在の変更」ってどっちがどっち???!
入力側の変更 → 自分が変更した内容を取り込みたいブランチ(git merge を行うブランチ)
現在の変更 → 自分が変更したブランチの内容
です!!
まとめ
完全に自分の備忘録でしたが、
ここまでお読みいただき、ありがとうございました!