2014-01-21 25 views
23

我用TFS設置搞砸了,並且我不小心將TFS 2012簽入的bin和obj文件夾包含在內,甚至還檢查了它們。我不想要這樣,因爲這些文件經常變化,並不意味着包含。我已檢查What happened to "Exclude from Source Control" in VS2012。接受的答案不起作用,因爲bin & obj文件夾和這些文件夾內的DLL即使在排除它們之後也不會出現在「升級候選更改」列表中。第二個最受歡迎的答案也不能永久工作。我對所有人都按yes,並從包含的更改列表中刪除它們,但是當我執行涉及重建的任何操作時,它們將被添加到再次包括列表中。如何從TFS 2012簽入中永久排除bin和obj文件夾?

我正在尋找一個永久性的解決方案,它將永久排除這些文件夾和裏面的文件簽入,如果可能的話,也從TFS服務器中刪除它們。

+0

可能重複[如何忽略TFS文件/目錄?](http://stackoverflow.com/questions/922798/how-to-ignore-files-directories-in-tfs) –

+0

@ nate-kerkhofs - 你沒有標記答案,這有點粗魯。 jessehouwing提供的答案可以滿足您指定的要求。 – Bertie

+0

@Bertie我後來回答自己的答案,我無法得到.tfignore解決方案的工作。 – Nzall

回答

20

TFS 2012可以選擇drop a .tfIgnore file in your workspace

Visual Studio中有一個UI來創建你的文件:

雖然你可以使用上述規則手動創建.tfignore文本文件,還可以自動生成一個當未決的改變頁面已經檢測到變化。

自動生成.tfignore文件

  • 在掛起的更改頁面,在排除更改部分,選擇檢測到的變化鏈接。
  • 顯示提升候選更改對話框。
  • 選擇文件,打開其上下文菜單,然後選擇忽略此本地項目,忽略擴展名或忽略文件名.-
  • 選擇確定或取消關閉升級候選更改對話框。
  • .tfignore文件出現在Pending Changes頁面的Included Changes部分。您可以打開該文件並進行修改以滿足您的需求。
  • .tfignore文件會自動添加爲包含的掛起更改,以便您創建的規則將應用於獲取該文件的每個團隊成員。

或者使用echo . > .tfIgnore從命令行創建它,然後使用記事本打開它。

另一個訣竅是在資源管理器中命名文件.tfIgnore.並保存。如果你想改變擴展名,你可能會被提示,在這種情況下的答案是:是的。

+0

所以我只是在\ bin和\ obj的根目錄下添加一個.tfignore文件。 – Nzall

+2

是的,確保它是你工作區的一部分。如果你願意,你可以檢查文件。 – jessehouwing

+0

如何添加一個沒有名字的文件?當我嘗試使用資源管理器和快捷菜單中的添加項目時,無法添加.tfignore文件,因爲它需要一個名稱。 – Nzall

4

我打電話給我們的TFS管理員的幫助。

我們不能讓一個.tfignore文件,但沒有什麼工作是如下:

  1. 入住在TFS這兩個文件夾;
  2. 從源代碼管理資源管理器中刪除項目特有的dll和pdbs,並簽入此更改。
  3. 在本地重建項目,嘗試檢入並確認沒有掛起的更改。

依賴程序集保留在TFS中,但由於這些很少發生變化,所以這不是一個大問題。

+1

這是一個很好的答案。原因在於'Source Control Explorer'是確保文件在某個時間檢入的位,存在於解決方案中並再次檢入。在Visual Studio中,簽入發生爲「客戶端」 - 因此即使文件夾不在源代碼管理下,TFS也會說文件必須簽入。TFS是一個野獸,並且VS中的服務器和客戶端managemnet會混淆分配因爲他們認爲這是同一件事。 '.tfsignore'的東西..從來沒有爲我工作,因爲應該與'web.config'一起工作。 – ppumkin

+0

好工作!..你很棒... – toha

7

排除bin文件夾中,勾選「顯示解決方案的更改」在查看選項「包括更改」

相關問題