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 +0900git revert 1234567890abcdefコマンド実行。(1234567890abcdef部分がgit cherry-pickしたコミット)- vimが開くので、
Escキーを押して編集モードを終了し、:q!と入力してEnterキーを押すと、編集内容を保存せずにエディタが終了する。
git revertした後も、「消した」作業履歴はコミット履歴に残るっぽい。
vimを開く必要がないのであれば、git revert 1234567890abcdef --no-edit。