2015-10-18 22 views
1

我在Visual Studio中使用它的Git Extension插件處理的每個組項目都遇到了問題合併。對於特定情況,會出現奇怪的或意想不到的合併衝突,我不知道我們錯在哪裏,或者我們如何使用git的解釋是歪斜的。分步使用Visual Studio Git Extension進行合併

我們的設置是這樣的。有一個主分支,所有最終代碼都在這裏,每個開發人員都有自己的本地工作分支。開發人員在他們的分支中編碼,並準備好後,由其他人對代碼進行審查並得到整個團隊的同意後,他們可以合併到主分支。

爲了測試主分支的功能,我們每個人都向我們的本地工作分支添加一個具有單獨名稱的空類,然後提交。承諾後,我們將逐一合併成主人。我合併,一切正常。然後另一位開發人員試圖將他們的本地分支與主人合併,並收到合併錯誤。

.csproj文件中發生合併錯誤。它試圖用其他開發者添加的文件(名爲「Roman.cs」)來覆蓋我添加的類(名爲「Michael.cs」)。下圖說明了合併衝突:

enter image description here

注意,在我們每一個加入自己的類,我們都同步。在我們添加了我們的課程並致力於我們當地的分支機構後,我們沒有再次同步。

這種類型的合併衝突發生了很多,這是非常刺激。所以,我想知道,一勞永逸,什麼正好,直到每次點擊鼠標,都是在Visual Studio + Git中進行合併的過程,以避免像這樣的錯誤發生。什麼是一步一步的,保證工作過程,將確保這些合併衝突永遠不會發生。

不要打擾鏈接到文檔。我已經讀過它,對我們沒有用處。

+1

哦,合併.csproj文件(或一般的XML文件)的樂趣。等到你們倆都更新相同或不同的NuGet包或EDMX。 – CodeCaster

+1

確切的過程是:處理合並衝突。 –

回答

0

雖然這不是在VS中合併的一步一步的過程,但這會有所幫助。 確保在您的.gitattributes文件中有行*.csproj merge=union(並且可能與*.sln以及您需要的任何其他VS項目或相關文件相同)。這將自動解決簡單的合併衝突,就像原始問題中的例子一樣,但仍然會發生一些較大的衝突(儘管更少)。

+1

http://haacked.com/archive/2014/04/16/csproj-merge-conflicts/ –