簡體   English   中英

如何將 GIT 回購與通用代碼但沒有共同祖先合並

[英]How to merge GIT repo's with common code BUT NO common ancestry

如何合並兩個具有通用代碼但沒有共同祖先的 git 存儲庫?

這是發生的事情:

  1. repoRoot 已創建
  2. repoRoot 丟失,但只有文件備份
  3. repoNew 是從相同的文件創建的,但沒有歷史記錄
  4. 在 repoNew 中,所有代碼都移到了新的子文件夾中
  5. 再次找到repoRoot

我們現在想要的是擁有一個 repo

  1. 首先是repoRoot的歷史
  2. 其次是repo的歷史New

最好是所有存在於兩者中的分支都完好無損

這是兩個示例存儲庫

https://github.com/patrickwolf/sandbox_repoRoot
https://github.com/patrickwolf/sandbox_repoNew

謝謝!

最簡單的將是移植/替換。 據我所知,這將使您能夠毫不費力地將這兩個歷史聯系起來。 檢查https://stackoverflow.com/a/6802005/2437508

但是,如果您不介意重寫歷史的后半部分,則可以在第一個 repo 之上重寫第二個 repo 的歷史......您只需要找到共享相同內容的兩個修訂,以便您從那里。

假設您有一個本地存儲庫,可以將兩個存儲庫視為遙控器, oldnew

new 分支中的第一個修訂版是分支new new/first ,其內容與old/main匹配。 如果我們想在old/main之上重寫new/main main :

git rebase --rebase-merges --onto old/main new/first new/main

應該這樣做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM