2013-04-24 105 views
3

成員我們的團隊使用了不同版本的Visual Studio,並VS似乎自動更新與SLN文件中的代碼,如:忽略的git的某些更改提交

Microsoft Visual Studio Solution File, Format Version 11.00 
# Visual C# Express 2010 

Microsoft Visual Studio Solution File, Format Version 12.00 
# Visual Studio 2012 

每當我們與解決方案一起工作。我們可以配置git來忽略這些變化嗎?我們對此行不感興趣,但我們對.sln文件的其他更改感興趣,例如將新的csproj添加到解決方案中。

回答

0

部分忽略文件是不可能的。一個簡單的解決方案是創建兩個版本的.sln文件,並告訴團隊打開與其版本相對應的版本。

另一種解決方案是post-commit掛鉤,如果這些行被改變,它會拒絕提交。需要一些腳本,但它是可行的。

0

在本地端,您只需更新git的指數忽略這樣在某些文件的變化:

git update-index --assume-unchanged SolutionFile.sln 

同樣的事情可以做你的任何開發人員。 另一個解決方案是將文件添加到.gitignore,如果您不想將其保存在源代碼管理下。

0

我只想忽略.sln文件,因爲他們是不相關的建設項目:微軟意識到前段時間項目文件必須是多版本和novadays所有建築由工作室來完成,由msbuild引擎進行這需要那些.proj (和其他.<whatever>proj,如.csproj,.vbproj等)XML文件並使用它們來構建項目。這些文件實際上是構建項目所需的一切,解決方案文件只包含各種簿記信息。

0

你可以添加一個污跡/乾淨的過濾器,git調用腳本來調整特定的行,以提交時一致。在「Can git automatically switch between spaces and tabs?」中,它顯示瞭如何實現類似的更改,其中空格在結賬時轉換爲選項卡,並在提交時返回空格。

您可能需要編寫腳本來識別和修改相關行,而鏈接示例使用預先存在的unix命令在製表符和空格之間進行交換。