有没有办法将我所有的本地提交推送到远程存储库除了最近的提交?我想将最后一个保留在本地,以防我需要进行修改。
最佳答案
试试这个(假设你正在使用 master
分支并且你的远程名为 origin
):
git push origin HEAD^:master
HEAD^
指向当前分支中最后一个提交之前的提交(最后一个提交可以称为 HEAD
)所以这个命令推送这个提交(与所有以前的提交)到远程 origin/master
分支。
如果您有兴趣,可以在 this man page 中找到有关指定修订的更多信息。 .
更新:我怀疑情况是否如此,但无论如何,如果您的最后一次提交是 merge ,您应该小心使用该命令。 HEAD
中的 merge 提交 HEAD^
指的是该提交的第一个父级,HEAD^2
- 指的是它的第二个父级,等等。
关于混帐推送 : Push all commits except the last one,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8879375/