混帐推送 : Push all commits except the last one

标签 git push

有没有办法将我所有的本地提交推送到远程存储库除了最近的提交?我想将最后一个保留在本地,以防我需要进行修改。

最佳答案

试试这个(假设你正在使用 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/

相关文章:

git - 全局 gitignore - 如何排除单个特定文件夹

javascript - 如何将数据推送到 JSON 变量中

git - 尝试 push SourceTree 时出现 "Updates were rejected because the tag already exists"

javascript - 当网站关闭时,推送通知如何在每个浏览器上工作?

git 状态不能与 Virtualbox 共享文件夹一起正常工作

git - 'git checkout' - 如何在切换分支时维护时间戳?

git - 无法切换分支 - "Error: Untracked working tree files..."我应该添加 git 吗?

git - 在git中 merge 两个远程分支

java - 实时更新值?

embedded - 如何在嵌入式设备服务器上实现 websockets?