簡體   English   中英

將遠程git repo與本地git repo合並

[英]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_AHIS_A然后可以將BC添加到分支中: MY_A + BHIS_A + C解決沖突,然后嘗試將其余工作添加到這兩個分支中並選擇這樣最容易解決:

MY_A + B + CHIS_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.

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