我有一個情況,我有兩個存儲庫歷史已被複制和損壞(通過SVN的交互和遷移 - 不是我的選擇)。我在同一個臨時維護庫中都有作爲遠程存儲庫的存儲庫。他們分享了幾百次歷史價值的承諾,然後這個「舊」的承諾在幾個分支上繼續增加幾十次。我需要將「新」樹快速轉向舊的狀態。然而,由於內容相同,儘管內容相同,但它們不被識別爲同一棵樹。git可以自動識別相同的提交(使用不同的哈希)
我想告訴git「這兩個提交是相同的,儘管有不同的作者」(作者ID在翻譯中混淆了)。如果可能的話,那麼我真的很喜歡它是否可以遍歷兩個遠程樹,併爲每個節點使用相同的內容進行關聯。這意味着我可以手動在兩者上標記「提交1」,並讓其完成。否則,我將需要手動標記每個分歧的根源(不會太糟糕,但寧願不要)。我嘗試使用移植點,這幾乎是我想要的 - gitk顯示我想要的,但是當我將它推回到主(新)存儲庫時,它沿着幾百個重複提交進行拖動。這也有點令人討厭,因爲我必須爲尚未合併的子節點做這件事。
我發現https://stackoverflow.com/a/973403/372757,並認爲它會工作:我只需要將舊提交重新綁定到新的存儲庫,每個分支一次。
無論如何,我仍然想知道我的原始請求是否可能。
如果您希望能夠推送該信息並將其用於遠程回購,則需要'git replace'而不是'grafts'。 –