[英]Merging remote git repo into a local repo and pushing the result back to remote
[英]merging remote git repo with local git repo
我在Laravel框架中有一個Php項目。
初始代碼狀態:A
一個月后,另一位開發商加入了我的行列。
6個月后,
我的密碼狀態:A + B
他的代碼狀態:A + C
B和C有許多公共文件,因此我們期望git merge期間發生沖突。 現在,我們希望有一個代碼庫:A + B + C
我當前的狀態/進行中的策略:我已經用代碼A + C建立了一個遠程git倉庫,並使用A + B建立了一個本地git倉庫。
如何最好地將遠程git存儲庫(A + B)與我的本地git存儲庫(A + C)合並,以便我在本地和遠程git存儲庫上都具有A + B + C?
請協助!
假設A + C
在master中,而A + B
在pull request分支中。 如果B和C修改了相同的文件,它們可能會導致彼此合並沖突,因此,您需要在將pull request分支合並到master中之前解決這些沖突,以使其更易於查看和集成。 因此,您應該將master合並到您的pull request分支中(這將添加與父B和C的合並提交),或者將您的pull request分支基於master進行基礎(這會將您的分支的提交更改為A + C + B
)。
我建議您從A
創建兩個分支,例如: MY_A
和HIS_A
然后可以將B
和C
添加到分支中: MY_A + B
和HIS_A + C
解決沖突,然后嘗試將其余工作添加到這兩個分支中並選擇這樣最容易解決:
MY_A + B + C
或HIS_A + C + B
但是使用分支,您永遠不會丟失工作,並且始終可以在不更改存儲庫的情況下進行此本地設置
更新:
首先拉您的master分支( A+C
):
$ git pull origin master
然后從master分支創建一個分支,然后創建一個AC
:
$ git checkout -b AC master
在更改到另一個分支之前,請確保已完成所有工作
然后從master分支創建另一個分支,並創建一個AB
:
$ git checkout -b AB master
在這里,您在其他分支中,可以添加他的代碼並提交,而不必擔心刪除或更改文件
查看您的分支機構使用:
$ git branch
更改為分支AC
使用:
$ git checkout AC
更改為分行AB
使用:
$ git checkout AB
現在,您有兩個分支,您可以看到diff 閱讀this ,並使用git diff AC..AB
查看終端中的差異,以及如果在兩個分支之間進行合並會發生什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.