git push:推送除最后一个之外的所有提交
有没有办法把我所有的本地提交到远程仓库, 除了最新的仓库? 我想保留最后一个地方,以防万一我需要修改。 谢谢。
试试这个(假设你正在使用master
分支,你的远程被称为origin
):
git push origin HEAD^:master
HEAD^
指向当前分支中最后一个提交之前的提交(最后一个提交可以被称为HEAD
),所以这个命令将这个提交(以前的所有提交)推送到远程origin/master
分支。
如果您有兴趣,可以在此手册页中find有关指定修订的更多信息。
更新:我怀疑是这种情况,但无论如何,如果你的最后一个提交合并,你应该小心使用该命令。 在HEAD
HEAD^
合并提交HEAD^
指向该提交的第一个父代, HEAD^2
– 指向其第二个父代,等等。
另一种可能性是
git reset --soft HEAD^
取消提交最近的提交并将更改移至分段。 然后你可以
git push
它只会推动其余的提交。 这样你可以看到在推送之前将会推送什么(通过git log
)。