[英]How to merge my code with code coming from a different repository in git
一個月前,我開始在github上的一個私有存儲庫中開發一個新功能。 我克隆了存儲庫並將其分支。 從那以后我一直在分支機構工作。
同時,代碼已移至github上的其他存儲庫。 現在,我需要將我所做的工作與新開發中正在進行的新開發合並。
我的點子:
1-簽出新的存儲庫。
2-在我的存儲庫中找到最后一個公共提交,然后再找到新的。 這應該是master分支上的最后一次提交。
3-在master分支和我的工作分支之間創建一個補丁。
4-將補丁應用到新的存儲庫。
這個對嗎? git命令應該執行3和4的操作是什么?
git-rebase
應該做你想做的,即把你的改變重放到新的倉庫中:
git remote add new-repo /path/to/new-repo
git fetch new-repo
git checkout hacking-branch
git rebase hacking-branch new-repo/master
如果新存儲庫確實是舊存儲庫的分支/克隆,那么您應該能夠簡單地用新URL替換.git/config
中的URL,然后git fetch
從新項目中提取所有內容。 完成后,您可以根據需要使用git rebase
或git merge
。
如果您要跟蹤兩個項目(而不是僅跟蹤一個項目)(舊項目中是否有正在進行的開發,您可能還是偶爾需要引入?),那么您可以將新存儲庫添加為另一個遠程git remote add newproj <URL>
。 你甚至可以在舊的重命名為比其他東西origin
,所以你可以使用origin
為新的存儲庫的名稱。
那樣就不必走補丁路線了,因為您實際上只是將本地存儲庫指向新位置,並且可以直接訪問所有新提交以及舊提交。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.