2011-06-17 44 views
12

是否可以僅簽入包含Team Foundation Server修改的文件?我的意思是有一個選項來激活這個地方?TFS 2010和未修改文件的簽入

我需要一個外包公司向我們發送近百個源代碼文件,而我只想檢查修改後的文件。

回答

19

執行簽入時,Team Foundation Server不會接受變更集中未修改的項目,但其餘變更集將成功。如果所有文件都未修改,則會發生錯誤,並且您的更改集不會被提交。因此,如果您只是擔心在實際上並未改變內容的變化中混淆了您的歷史記錄,那麼TFS會爲您解決這個問題。

但是,如果有很多未實際編輯的掛起更改可能會令人厭惡。如果您想要做的只是查看代碼審查的實際修改內容或僅用於一般清晰目的,則TFS Power Tools包含tfpt命令,該命令具有「撤消未更改」功能,該功能將撤銷未修改文件上的檢出。

撤消不變命令有以下用途:

tfpt uu - Undo unchanged 

Undoes redundant pending changes. If the state of an item with a pending 
change is the same as on the server, then the change is undone. 

Usage: tfpt uu [/changeset:changesetnum] [/recursive] [/noget] [filespec...] 

/changeset    Compare the workspace to item states at the changeset 
         version specified instead of the latest version 
filespec...   Only check the listed filespecs for redundant changes 
/recursive    Check the specified filespecs with full recursion 
/noget     Do not run get before checking 

The /changeset option may not be used with filespecs or /recursive. 

例如,下面的命令將做TeamProject遞歸獲取,提供冗餘變化的文件列表,然後提示用戶,如果他們想撤銷它們:

tfpt uu C:\TFS\TeamProject /recursive 
+0

FTW tfpt uu /遞歸 –

+0

我們正在使用TFS 2017,它不會阻止檢查未更改的文件。 – Jalal

+0

它的確如此。儘管用戶界面可能會建議您檢入了未更改的文件,但文件內容不會在該變更集中更新。 –

0

我不確定有什麼方法可以在Visual Studio中執行此操作。你可能想嘗試一個像Beyond Compare這樣的工具來比較文件夾,找出哪些文件已經改變,然後檢查這些文件。 Beyond Compare還具有與Visual Studio的良好集成。

Beyond Compare

2

默認情況下,TFS將只檢查在被修改的文件,其實我不認爲這是可以檢查在*聯合國*修改過的文件。如果您使用未經修改的命令行而未檢查文件將被記錄。

默認情況下,比較校驗和以避免上傳文件。

7

TFS在簽入期間忽略未修改的文件。

但是,如果你想看到哪些文件是您檢查未改性之前,你可以(仔細)做到這一點:

  • 在Pending Changes窗口中選擇所有文件
  • 權點擊並撤銷掛起的更改
  • 如果有任何文件已被修改,TFS將詢問您是否希望放棄更改。點擊並非全部

鎖定所有未更改的文件將被釋放,只將更改的文件留在待處理的檢入列表中。

但是要非常小心你按下哪個按鈕!

+0

嘗試過但不起作用。我已檢出文件夾中的所有文件,替換爲新文件,並進行了撤消掛起更改,但所有未完成的更改都已消失。也許這隻有在其他情況下才是真實的。 – abenci

+0

這對我有效。謝謝! – Teeknow

-1

在解決方案資源管理器中,需要右鍵單擊「文件」或「文件夾」,然後單擊「添加文件到源代碼管理」。這是使用VS 2015.