簡體   English   中英

夢魘試圖解決 Xcode 項目上的 git 沖突

[英]Nightmare trying to solve a git conflict on a Xcode project

我是 git 的新手。 我知道基本的東西,而且非常糟糕。

幾天前,我從主遠程分支創建了一個名為coreData的分支。

其他東西已合並到遠程主機中。 因此,遠程 master 領先於我曾經分支的 master。

現在我已經完成了coreData 我想對此打開一個拉取請求,以便它可以合並到主控中。

我已經嘗試了我所知道的一點點來解決這個問題。

到目前為止我所做的。

使我的本地主機等於遠程主機

  • git 結賬主控
  • git拉

然后

  • git 結帳 coreData
  • git rebase master

也試過

  • git 結帳 coreData
  • git 合並主控

在這兩種情況下,我都解決了所有沖突,但結果卻不是應該的。

我認為我的大問題是.xcodeproj

這是我對xcodeproj不理解的事情。 見下圖:

在此處輸入圖像描述

這種沖突是不可能的。 它告訴我一行正在替換所有藍色塊。 是不可能的。 在這種情況下,我兩者都接受,但最終的xcodeproj會損壞或不正確。

有沒有辦法解決這個問題? 如果您需要更多信息,請詢問,我會發布。

我不能專門談論 xcode 項目文件,但是,自動生成的項目文件通常是使用合並沖突功能解決的最困難的(基於文本的)文件類型之一。 有時候,當雙方都加入了新的東西時,就像接受雙方一樣容易。 不幸的是,正如您所看到的,這並不總是有效。 本質上,您正在嘗試手動編輯自動生成的文件,有時該文件具有預期和/或排序規則,您可能無法在不知道文件如何生成的確切細節的情況下手動重新創建。

當這種事情發生在我身上時,我通常會嘗試一下,然后從更新的目標分支創建一個新分支,重新進行我的項目級別更改,然后查看新創建的項目文件. 您可以簡單地將該版本的項目文件復制到您的另一個(幾乎可以工作的)分支中,並且對 go 很好。 以這種方式比較它們也可能有助於查明您的合並出錯的地方。 通常是某個地方缺少或不正確的 GUID。

旁注:您可以通過跳過檢出master來節省工作流程中的幾個步驟。 相反,簽出您的分支后,您可以:

git fetch
git rebase origin/master

您甚至可以刪除master的本地副本,從現在開始,從origin/master創建新的分支,並在變基或合並時使用相同的分支。 每次您git fetch時,您都會更新您的origin/master副本。

暫無
暫無

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

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