[英]How do I merge long histories on two different repositories in git
我在 github 上有一個存儲庫,我和一個朋友同時在這個存儲庫上工作。 我們在 github 上分支了我們的本地 master 副本,並為我們的各個分支添加了許多功能。 但我們只承諾我們的本地副本(不是 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
而是fetch
和rebase
(在git ready中描述)
push
送到 Github (最好是更改較少的那個)fetch
es(不要拉): git fetch github/master
git rebase github/master
git push
到 Githubgit pull
出來肯定不會有沖突
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.