簡體   English   中英

為什么XCode會不斷地執行“合並遠程跟蹤分支'起源/母版'”

[英]Why does XCode constantly do “Merge remote-tracking branch 'origin/master'”

我是XCode的新手。 最近開始與一個團隊合作進行iPhone項目。 我們將GitHub用於源代碼控制,並直接從XCode(5.1)中進行拉入/提交/推送。

目前,我們都在研究master。

我注意到我們的提交日志中包含大量以下語句:

Merge remote-tracking branch 'origin/master'

這些似乎是多余的。 這些項目幾乎總是與另一個用戶的先前提交相同。

示例場景:

  1. 用戶A和用戶B進行PULL,以開始處理代碼。
  2. 用戶A編輯SomeViewController.m並執行COMMIT和PUSH。
  3. 用戶B編輯AnotherViewController.m並執行COMMIT和PUSH。
  4. 用戶B收到[來自XCode]的錯誤消息,要求他必須先拉動才能提交。
  5. 用戶B先執行PULL,然后執行COMMIT。

現在,提交日志中有3個項目:

  1. 來自用戶A的更改
  2. 來自用戶B的更改
  3. 合並遠程跟蹤分支“起源/主”

但是#1和#3是相同的! 我們做錯了什么? 還是這僅僅是一起使用Git和XCode的必然弊端?

一種解決方案是使用rebase命令而不是經典的pull(提取+合並)。
在拉入XCode時可以檢查該選項。

那將在(已獲取和更新的)遠程跟蹤分支之上重播您的本地提交。

在同名行中,一個不錯的選擇是:

  • 嘗試合並
  • 如果沒有,請嘗試重新設置基准

參見“ Merge remote-tracking branch... ”這是什么?我什至沒有。
為什么我要合並“遠程跟蹤分支'起源/開發'到開發”?

# download the latest commits
git remote update -p

# update the local branch
git merge --ff-only @{u}

# if the above fails with a complaint that the 
# local branch has diverged:
git rebase -p @{u}

暫無
暫無

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

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