2012-10-17 20 views
4

我們遇到了一個奇怪的git合併問題。我們有2個回購(簡化如下)。 PublicRepo是我們進行大部分開發的地方,我們每時每刻都會將更改合併到PrivateRepo中。爲什麼git不合並一些更改?

https://github.com/suwatch/PublicRepo

https://github.com/suwatch/PrivateRepo

如果我們克隆PublicRepo並通過刪除如下行做出改變kudu.web/kudu.web.csproj和承諾。

<Reference Include="Microsoft.Json, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> 
    <HintPath>..\packages\JsonValue.0.6.0\lib\40\Microsoft.Json.dll</HintPath> 
</Reference> 

當試圖拉/合併來自PublicRepo這種變化 - > PrivateRepo的automerge只需忽略這一變化,並不會刪除任何東西。嘗試不同的行,它確實工作(正確刪除)。我想知道可能是什麼問題?從哪裏開始調查?我們需要做些什麼來糾正這一點 - 除了必須在每次我們拉/合併時檢查所有自動合併的文件?

謝謝!

回答

3

你在你的.gitattributes文件中有

*.csproj text=auto merge=union 

。聯合合併將連接來自所有裁判的線。

+0

啊,是的,這很可能!不知道爲什麼它以這種方式設置,因爲這對於.csproj文件感覺不對。我們會改變它。謝謝! –

+0

謝謝,就是這樣。現在消除這些衝突會導致衝突。我仍然無法解釋爲什麼它可以用於文件的其他部分。 –

+0

我收到了與此設置混合的結果。當人們在項目文件中的相同位置添加文件時,聯合合併會導致文件具有重複條目,從而導致構建失敗。 – mbp