簡體   English   中英

如何合並有沖突的存儲庫?

[英]How to merge repositories with conflicts?

我對git / GitHub非常陌生,經常感到困惑。 我特別困惑的是如何結合合並沖突來合並兩個存儲庫。

因此,有一個我分叉的同事的基礎存儲庫,說他的名字叫Frank,所以我把frank/master分叉到me/master 現在,我進行了更改,而Frank進行了更改,因此me/master現在領先10提交,而frank/master之后落后20提交。

現在,我想將存儲庫重新合並在一起。 但是,我和Frank都編輯了相同的文件,這意味着拉取請求無法自動合並。

我認為解決此問題的最簡單方法是在GitHub上創建一個名為devel的新分支(我做過),並拉frank/master 我在GitHub上打開了請求請求,然后按照命令行說明解決沖突:

git checkout -b frank-master devel
git pull https://github.com/frank/theRepositor.git master

然后,我使用git mergetool解決了git mergetool中的沖突(並編輯了中間文檔),然后執行了

git checkout devel
git merge --no-ff frank-master
git push origin devel

現在,Github頁面上說我的開發倉庫在frank / master之后落后了20個提交,而11個則領先於frank / master,但是pull請求仍然處於打開狀態,無法解決。

我做錯了什么?解決此類沖突並將存儲庫重新合並在一起的正確工作流程是什么?

您可以在GitHub Web UI中解決簡單的合並沖突,如您所描述的。 查看本文: https : //help.github.com/articles/resolving-a-merge-conflict-on-github/

如果由於合並請求的兩個分支之間在同一文件的同一行上存在差異而發生了合並沖突,那么您現在可以單擊位於合並請求主體中的“ 解決沖突”按鈕。 這將啟動一個文本編輯器,您可以在其中解決問題。 所有其他類型的合並沖突必須在命令行上本地解決

解決合並沖突時,您可以選擇保留分支機構之一中的內容或進行全新的更改。 只需查找並刪除沖突標記( <<<<<=====>>>>> ),進行更改,單擊“ 標記為已解決”按鈕,然后單擊“ 提交更改”按鈕。 解決所有合並沖突后,“ 合並”拉取請求按鈕將變為綠色,這意味着您可以合並更改。 這假定通過了所有必需的狀態檢查,並且您有權合並到該分支。

要了解更多信息,請訪問關於合並沖突的GitHub幫助文章: https : //help.github.com/articles/about-merge-conflicts/

暫無
暫無

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

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