簡體   English   中英

如何合並 git 中兩個不同存儲庫上的長歷史記錄

[英]How do I merge long histories on two different repositories in git

我在 github 上有一個存儲庫,我和一個朋友同時在這個存儲庫上工作。 我們在 github 上分支了我們的本地 master 副本,並為我們的各個分支添加了許多功能。 但我們只承諾我們的本地副本(不是 github 上的那個)。 如何管理歷史記錄和提交,以便我們的兩個提交都反映在 github 存儲庫中(沒有一連串的合並沖突)? 謝謝。

另外,我如何處理沖突和補丁? 有人可以提供問題的可視化表示以及如何解決它(以便我更好地理解它)。

你們倆都必須

  • 與遠程合並(Github)
  • 送到遠程(Github)

合並可能會導致沖突。 沒有辦法,這就是 Git 的工作原理。 所以我的建議; 對於未來的項目,經常合並和推送以避免沖突,特別是如果你們可能都在做同一件事。

無需將整個提交早午餐合並到一個 go 的遠程分支中,這會使您解決很多沖突,您還可以逐個合並提交。

`git merge <commit point a>`

先解決一些沖突

`git merge <commit point b>`

先解決一些沖突

`git merge <commit point c>`

解決沖突的最后一部分

其中 a,b,c 是 sha-1 中的提交點,並且 a < b < c

我想這會稍微減輕你的痛苦。

假設,兩者都在master分支上工作,所有更改都應 go 到 Github 上的master分支。 不要使用pull而是fetchrebase (在git ready中描述)

  1. 你們中的一個(比如說,1)應該首先push送到 Github (最好是更改較少的那個)
  2. 另一個(比如說,2)從 Github fetch es(不要拉): git fetch github/master
  3. 然后,2 做了一個git rebase github/master
  4. 2 解決一些沖突
  5. 2 做git push到 Github
  6. 1 git 從git pull出來肯定不會有沖突

暫無
暫無

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

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