我有一个本地分支设置来跟踪远程源/主设备,它是由
创建的“git checkout -b mybranch origin / master”
此后,我在同一个本地分支上有两个单独的本地提交,commit2依赖于commit1
现在我想将commit1中的更改包括在远程分支中,这样做的正确方法是什么?
我已经运行了“git rebase -i”并将commit1更改为edit,并且在rebase时git stop at commit 1,这就是我想要的。
但如果我尝试做“git push”之类的操作,我会收到错误消息
“致命:你目前不在分支机构。 推动导致当前的历史(分离的HEAD) 现在状态,使用PS C:\> $list.item | % {
>> $t = $_.tags -split ","
>> if ($t -contains "red") { $_.ne }
>> }
>>
”,
现在假设我的commit1的哈希是“abce”,将此更改推送到远程origin / master的正确方法是什么?
答案 0 :(得分:3)
git status
告诉您如何取消工作副本中的rebase。 (可能是git rebase --abort
)
然后你可以像这样推送特定的提交:
git push <remotename> <commit SHA>:<remotebranchname>
答案 1 :(得分:0)
尽管拉霍斯的答案是正确的,但您可以做得更加轻松-错误消息可以为您提供所有的方法:)
pick xxxxxx
exec git push origin HEAD:master
pick xxxxxy
exec git push origin HEAD:master
pick xxxxxz
这样,您将始终推动HEAD,因此不必复制/粘贴SHA arround。