[英]How to push an intermediate commit during interactive rebase in git?
我設置了一個本地分支來跟蹤遠程原點/主節點,它是由
“ git checkout -b mybranch來源/主服務器”
現在,在同一本地分支上有兩個單獨的本地提交,而commit2取決於commit1
現在,我想將commit1中包含的更改推送到遠程分支,這樣做的正確方法是什么?
我已經運行了“ git rebase -i”並更改了commit1以進行編輯,而git變基時git在提交1處停止了,這就是我想要的。
但是,如果我嘗試執行“ git push”之類的操作,則會收到錯誤消息:
“致命:您當前不在分支上。要立即將歷史記錄推送到當前(分離的HEAD)狀態,請使用
git push origin HEAD:<name-of-remote-branch>
”
現在假設我的commit1的哈希是“ abce”,那么將這種更改推送到遠程源/主服務器的正確方法是什么?
git status
告訴您如何取消工作副本中的變基。 (可能是git rebase --abort
)
然后您可以像這樣推送特定的提交:
git push <remotename> <commit SHA>:<remotebranchname>
盡管Lajos的答案是正確的,但您可以做得更輕松-錯誤消息可以給您一切
pick xxxxxx
exec git push origin HEAD:master
pick xxxxxy
exec git push origin HEAD:master
pick xxxxxz
這樣,您將始終推動HEAD,因此不必復制/粘貼SHA arround。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.