2014-10-16 148 views
2

有人可以幫助我設置VS 2013以使用SourceTree嗎?設置Visual Studio 2013和SourceTree

說,我有我的本地計算機上的VS項目,我想在該項目連同我的朋友X.工作,我已經試過以下算法:

1)我的計算機上創建一個項目,推送到遠程存儲庫,讓我的朋友下載它。

該方案沒有奏效,因爲git忽略了一些文件,而我的朋友在將它拉到他的電腦時無法運行該項目。

2)編輯gitignore文件,然後重複1)。

我的朋友能夠下載該項目並運行它,但我們遇到了來自packages文件夾和某些文本文件的dll文件的一些問題;他們總是在改變,所以我們不得不每次合併FileListAbsolute.txt。

3)在我的和X的計算機上創建一個項目,以便我們的計算機上有DLL。

現在我們遇到了項目.sln文件的問題;在我和我的朋友的電腦上有所不同,它包含了一些有關該項目的重要數據,因此無法決定如何合併它。

我已經在任何情況下使用BitBucket託管遠程存儲庫。

那麼,是否有一些算法來設置SourceTree以使用VS 2013項目?我使用了https://github.com/github/gitignore/blob/master/VisualStudio.gitignore的gitignore文件,但它不包含.sln的忽略模板,所以它不是必需的,或者我應該自己添加它,但是在那種情況下,我不明白爲什麼它沒有尚未添加。我相信這是一個非常簡單的問題,但看起來我太愚蠢,無法自行解決問題。

我不想使用內部的VS工具來處理git,因爲它的界面不是很方便,也沒有SourceTree那麼多的可能性。

回答

2

在這裏有幾件事情你應該解決。

首先,我建議不要使用預製的gitignore,但要一步一步創建:預先製作的可能只是排除太多,通過自己創建它,您將瞭解更多關於VS項目結構/建立系統。缺乏關於後者的知識似乎是這裏的主要問題。

作爲一般規則,您不包含由構建系統/編輯器/其他工具創建的任何內容。所以沒有.user文件,沒有.suo文件,沒有編輯器備份文件,這些是每個用戶的首選項,通常不共享。也沒有NuGet下載的DLL:如果他們不在那裏NuGet會爲你下載它們。當然也沒有項目輸出(FileListAbsolute和類似項目輸出)。爲了解決這個問題:你只包括構建所需的最低限度。

你不給你的項目類型/結構多的細節,但這裏有一些實用技巧:

  • 你的問題明確地提到SourceTree但你面對的是建立在混帳上放置任何物品相同的問題,甚至任何版本控制系統。只是要記住。
  • 在花費時間將事情推送到遠程存儲庫並在其他機器上測試之前,只需在本地測試所有內容:將您的存儲庫克隆到另一個目錄中(在SourceTree中:克隆/新建,在源路徑/ URL框中輸入原始repo的路徑,新目錄),看看它是否構建爲'普通'C++/C#項目,所有源代碼/頭文件(例如.cpp/.cs/.rc/.xaml/.config)都需要構建的最低限度。文件,csproj/vcxproj文件和sln文件。沒有其他的。
  • 如果您將項目配置爲不使用源代碼構建,這意味着項目輸出會進入源代碼目錄之外的目錄,因此不是默認使用標準bin \ Debug VS,您將不會遇到麻煩向上的.gitignore,這是短短不到一般
  • 上述考慮凌亂,我們使用的幾乎所有的項目中的.gitignore模板低於

樣品的.gitignore:

*.suo 
*.sdf 
*.opensdf 
*.user 
*.ncb 
*.aps 
*.res 
~* 
packages/* 

這擺脫了V的所有文物據我所知,S/intellisense和NuGet包。當然,如果您選擇在源代碼樹中保留中間目錄和輸出目錄,則必須添加更多內容(此外,使用模板變得更加困難,因爲這些目錄可能沒有所有項目的相同名稱等)。爲了弄清楚你可以使用SourceTree來首先添加源文件/項目文件,提交,構建和排除一切已更改。但正如所說,源代碼構建是一個更清潔和更簡單的解決方案。

+0

非常感謝。我已經在gitIgnore中包含了這個packages文件夾(儘管由gitIgnore生成的沒有這樣的一行,所以我會進一步測試它),並且還添加了一些額外的路徑(如.txt文件)。結合VS文件生成它終於工作。再次感謝。 – 2014-10-17 10:36:17