簡體   English   中英

合並沒有公共提交到主分支?

[英]Merge no common commits into master branch?

我有一個Git倉庫,有很多提交和單獨的代碼,比方說

/Proj1

我還有另一個Git倉庫,其中有1個提交,這不是常見的提交,

/Proj2

如何合並兩個repos並使用父提交正確顯示歷史記錄? 基本上,兩個repos之間沒有任何共享提交,但我希望有一個具有兩組代碼的repo。 我希望它看起來像:

proj2 commit
proj2 commit
proj1 commit (root)

我知道rebase是一個選項,但不確定是否使用--onto取代了root提交(如果我從遠程repo和rebase --onto --root master取出它似乎會這樣做)。

我嘗試使用最初看起來像它們工作的git子樹,但是當我使用git-tfs推送我的提交時,但我收到的錯誤是

警告:父...不屬於TFS跟蹤分支(未在TFS中檢查),將被忽略

並且提交實際上並沒有推高(也可能是因為它是一個子樹)。

編輯:我只希望以1個repo(Proj1)結束,但是在Proj1在master分支上提交之后會有Proj2的提交。

Cupcake幫助解決了這個問題。 這是一種方法:

在ProjA中,將Proj B添加為遠程:

git remote add projb C:\projB

做一個git fetch來獲取projB主分支的所有提交:

git fetch projb

從projB的根開始到projA主分支的tip(end)的rebase:

git rebase --onto master --root projb/master

就是這樣! 執行此操作可能風險較低,但這絕對可以解決這個問題。

暫無
暫無

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

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