2016-07-23 63 views
0

我有一個場景,在我的項目中,我有一個主存儲庫,並分叉它並做了一些更改(大約40次提交15個文件)。現在我想將這些更改合併到主存儲庫中。我向主分支提出了一個PULL請求,但首先要解決很多衝突。我跟隨了一些來自網絡的選項來解決,但無法找出正確的解決方案。如何將分叉的回購與衝突的主回購合併?

我模擬了與本地項目相同的場景。主要存儲庫是https://github.com/guntukaramakrishna/UtilsJava

而分叉庫是https://github.com/rksatniit/UtilsJava

主文件在一個文件中有一個更改,並添加了新文件。分叉的回購已經在兩個文件中進行了一些更改。這就是我必須模擬相同的場景。

請問您能幫我解決正確的步驟嗎?

感謝和問候
克里希納

回答

0
  1. 您可以git fetch origin從遠程主存儲庫。然後git checkout branch,合併本地分支的主要存儲庫,git rebase origin master
  2. 如果發生衝突,git rebase將停止在第一個有問題的提交併在樹中留下衝突標記。你需要解決衝突。
  3. 然後你git add filename
  4. 解決衝突後,您可以繼續使用git rebase --continue進行重新組裝。 git rebase command
  5. 推送本地分支到遠程,更新拉動請求,git push --force origin branch
  6. 現在,您可以合併你的分支
0

您有幾種選擇;

1)讓拉取請求的接收者在拉取/合併時解決衝突。

2您可以將原始回購合併到您的分叉中並解決合併期間的衝突。然後原始文件可以在沒有衝突的情況下進行合併(因爲你解決了它們)。

3)您可以在原始回購之上重新分配您的分叉並解決重新分配期間的衝突。然後發送一個新的請求,將完全合併。

請注意,12保留存儲庫歷史記錄,而3重寫它。