web関連
【git】別ブランチの特定のコミットをpullする方法
別ブランチの特定のコミットだけを取得したかった時の備忘録
特定のブランチのコミットをpull
指定したコミットを他のブランチに適用するためのGitコマンド。(ブランチの指定などは特にしていない)
git cherry-pick <コミットID>
pullした後にpushする方法
git cherry-pick
後、新しいコミットとして登録されるため、git add
やgit commit
をせずにgit push
可能。なので、以下のコマンドでpush。
git push origin <ブランチ名>
or
git push -f origin <ブランチ名>
変更を(全部)取り消す場合
git cherry-pick
後に、取り込んだコミットを消す場合。
git reset --hard HEAD~
※git cherry-pick
実行前に戻るが、その間に編集や何か作業していたりする場合それも消える。
変更の一部(git cherry部分だけ)を取り消す場合
git cherry-pick
で取り込んだ部分だけを消したい場合。
git log
を実行。取り消したい操作を確認。(q
を押すことで解除)PS C:\Users\User\wordpress> git log commit 1234567890abcdef (HEAD -> main) Author: Tom <email@example.com> Date: Mon Jan 13 18:19:59 2025 +0900
git revert 1234567890abcdef
コマンド実行。(1234567890abcdef
部分がgit cherry-pick
したコミット)- vimが開くので、
Escキー
を押して編集モードを終了し、:q!
と入力してEnterキーを押すと、編集内容を保存せずにエディタが終了する。
git revert
した後も、「消した」作業履歴はコミット履歴に残るっぽい。
vimを開く必要がないのであれば、git revert 1234567890abcdef --no-edit
。