2012-11-06 193 views
4

我最近有一種情況,我將功能分支的更改合併到主分支和生產分支中。然後我需要從生產分支中刪除更改,因此我使用git還原。我現在需要將這些修改合併到生產分支,但如果我執行混帳合併SHA1我收到消息:如何合併已恢復的提交?

Already up-to-date

誰能幫助我?

UPDATE 所以我結束了創建了我的分公司生產的一個分支,從我在那支已經恢復,然後合併這種改變投產文件應用差異。我不喜歡它,但它工作。我仍然有興趣聽到是否有辦法使用相同的sha1。

+0

您是否嘗試過'git cherry-pick'呢? –

+0

剛剛嘗試過,櫻桃挑選也沒有工作。 –

+0

櫻桃挑選似乎爲我工作。稍微更多的手動等價物將是'git format-patch $ SHA1' - >寫入0001-description.patch。接下來是'git am 0001-description.patch'或'git apply ...',然後提交,或者甚至是'patch -p1 ...'(位於回購的頂層)。 – sourcejedi

回答

0

我現在需要將這些修改合併到生產分支

git revert,如果在production分支完成後,將創造一個新的提交取消您想刪除一個。

由於新提交已經在該分支上('production'),因此無法合併它。

如果你的意思是「合併回feature分支」,那麼合併您應用新提交的feature分支,刪除從feature分支的變化也是如此。

+0

您好VonC,我實際上需要將我的主分支中的提交合併到我的生產分支中,但是因爲我已將功能分支合併到生產和主分支中。問題是,我認爲這個提交在master和production中,但是生產具有更新的「revert commit」,所以我的更改沒有被應用。有任何想法嗎? –

+0

@akiladila「我的變化」?哪些變化?它們都在'master'和'prod'中,所以將'master'合併爲'prod'(即使'prod'沒有任何額外的提交)將始終產生一個「已經最新」的消息。然而,將'prod'合併爲'master'應該可以很好地工作。 – VonC