如何在git交互式变基过程中推送中间提交?

omvjsjqw  于 2023-03-11  发布在  Git
关注(0)|答案(2)|浏览(150)

我设置了一个本地分支来跟踪远程源/主服务器,它是由创建的
“git checkout -B我的分支来源/主分支”
之后,我在同一个本地分支上有两个独立的本地提交,commit 2依赖于commit 1
现在我想把commit 1中包含的修改推送到远程分支,正确的方法是什么?
我已经运行了“git rebase -i”并将commit 1修改为edit,并且在重定基时git在commit 1处停止,这正是我想要的。
但如果我尝试执行类似“git push”的操作,我会收到错误消息
“致命错误:您当前不在分支上。要立即推送指向当前(detached HEAD)状态的历史记录,请使用

git push origin HEAD:<name-of-remote-branch>

“,
现在假设commit 1的哈希值是“abce”,那么将这个修改推送到远程源/主服务器的正确方法是什么?

idfiyjo8

idfiyjo81#

git status告诉你如何在你的工作副本中取消变基。(可能是git rebase --abort
然后你可以像这样推送特定的提交:

git push <remotename> <commit SHA>:<remotebranchname>
t30tvxxf

t30tvxxf2#

虽然Lajos的答案是正确的,你可以做得更容易-错误消息给了你一切:)

pick xxxxxx 
exec git push <remotename> HEAD:<remotebranchname>
pick xxxxxy
exec git push <remotename> HEAD:<remotebranchname>
pick xxxxxz

这样你就可以一直按HEAD,这样你就不用到处复制/粘贴SHA了。

相关问题