2017-10-10 94 views
2

TFS使我瘋狂的一件事是,如果你有一個文件被檢出,但你沒有做出任何改變,它仍然表現爲一個變化,讓你從你做出的真正改變中分心。當你使用T4等工具生成代碼時,這是非常煩人的,因爲大部分時間該工具會生成相同的代碼,但會將該文件簽出。如何撤消未更改文件的掛起更改?

出於某些我無法理解的原因,Visual Studio堅持將這些變化顯示出來,甚至會聲稱如果另一個人碰巧簽入了相同的「變更」,則會發生衝突。

Fortunately, the TFS Power Tools include a command that compares checked-out files with the server version and undoes the unchanged files. I will explain how to integrate it into Visual Studio using a custom tool.

這是不幸的是沒有提供,如果您使用Visual Studio 2017年!

它曾經是very simple與早期版本的Visual Studio來實現:

tfpt uu /noget /r * 

我們如何從待定更改刪除文件,如果他們沒有任何變化?

回答

0

根據您在TFS中選擇的版本控制系統,這是不同的,所以上述問題只存在於TFS的傳統版本控制系統TFVC,而不是現在已經支持幾年的git。

對於TFVS部分的解決方法是,以紀念所有文件,單擊鼠標右鍵並撤消...並單擊下面的對話框撤消更改按鈕。這會提示您輸入不同的文件(讓您選擇否全部),但不適用於沒有更改的文件。 重要:我寫'部分',因爲這種方法不適用於文件重命名,因爲該文件被認爲是未更改,所以重命名將被撤消。

+0

這將需要手動查看每一個文件以及是否有任何事實的變化 –

+0

不,你選擇*全否*然後只有沒有改變的那些被撤消。 –

+0

@l --'''''''- - ''''''''''''你是否能夠使用它? –

3

是的,有Team Foundation Server的2017年沒有電動工具,您可以使用以下解決方法:

您的項目中,選擇取消檢出單擊鼠標右鍵,這時只要按一下還行,或任何確認離開.. 。

然後,當撤消結帳,爲每一位有它REAL修改文件,提示將要求您確認簽出該文件......只需單擊「全否」。 Visual Studio會知道檢出的文件是否有更改或沒有更改。

警告:此方法還會刪除新文件,即尚未簽入TFS的文件。如果你想保留這些文件,那麼簡單地將它們從你「撤銷」的文件組中排除。

你也可以看看這個問題:他的問題Files listed as pending changes when doing merges that didn't change?

+0

我們正在使用tfs 2013和vs 2017。你是建議去我們的150個項目的每一個,並點擊撤消結賬? –

+0

@l - '''''' - ''''''''''''如果因爲失業而導致多個項目工作,沒有嘗試過,但我對於單個項目,我確定它在我身邊很好。您可以嘗試爲單個項目和多個項目執行此操作。對於多個項目,在團隊資源管理器中撤消待處理的更改時。一旦你得到確認對話框選擇「全無」 –

+0

我已經有1500個掛起的更改,到目前爲止它已經停留了20分鐘,試圖在點擊全部否決之後撤銷掛起的更改 –