git push で任意のリビジョンを送る2020年03月19日 12時25分32秒

git push にオプションを明記して変更差分を送る書式は
git push <remote-name> <local-revision>:<remote-branch>

そんなわけで、自分の github 等に送る場合などは大抵、

git push origin HEAD:branch-name
となる。

この HEAD を指定した場所には、git のリビジョンを特定出来るものなら何でも置ける。HEAD であれば、現在のブランチの最新、ブランチ名ならばそのブランチの最新、特定リビジョンであればそのリビジョンになる。

git push origin HEAD~3:branch-name
git push origin local-branch:remote-branch
git push origin tag:branch-name
等とあれこれと任意のリビジョンまでを送る事が出来る。

なお、注意点としては、git rebase -i を行うと、手元のリビジョンハッシュが変更されてt しまう。git push の前に、今一度 git rebase upstream master をやらないと、pull リクエストを作るときに、他の変更も別物として見なされてしまう。