將檔案新增至版本控制伺服器

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 |Visual Studio 2022

當您使用 Visual Studio 方案總管,且專案處於版本控制之下時,將檔案新增至版本控制通常是自動的。 不過,在某些情況下,您必須採取額外的步驟,將檔案和專案新增至版本控制。

必要條件

在 Visual Studio 中將檔案新增至版本控制之前, 請先在開發電腦上設定工作區。

重要

這些程式僅適用於您使用本機 工作區時。 當您使用本機工作區時,會自動偵測到新的檔案為擱置中的變更。 相反地,您在伺服器工作區中儲存的檔案會新增並存回,而不會顯示為擱置的變更。

在版本控制下建立新的程式碼專案和方案

您可以建立新的 Visual Studio 專案,並將其新增至版本控制,以便您和您的小組從您撰寫的第一行程式代碼開始,立即享受版本控制的所有優點。

  1. 在 Visual Studio 中, 連線到您的 Azure DevOps 專案

  2. 選取 [檔案>新專案],或按 Ctrl+Shift+N。

  3. 在 [ 建立新專案 ] 畫面上,選取您要建立的程式代碼專案類型,然後選取 [ 下一步]。

    [建立新專案] 對話框的螢幕快照。

  4. 在 [設定新專案] 畫面的 [項目名稱] 底下,輸入項目的名稱。

  5. 在 [位置] 下,指定本機工作資料夾的路徑,例如 c:\code\SiteApp\Main\,在您設定開發計算機所建立的工作區中。

  6. 保留其餘的設定,然後選取 [ 下一步]。

    [設定新專案] 對話框的螢幕快照。

  7. 在 [ 其他資訊] 畫面上,視需要變更任何設定,然後選取 [ 建立]。

  8. 建立項目之後,請在 方案總管檢視它,您可以按 Ctrl+Alt+L 開啟該專案。

    方案總管 中新程式代碼專案的螢幕快照

  9. 以滑鼠右鍵按兩下 方案總管中的方案名稱,然後從操作功能表中選取 [將方案新增至原始檔控制]。

  10. 切換至 [Team Explorer] 視窗,然後選取 [簽入 ] 以 存回專案至原始檔控制

將現有的方案和程式代碼專案放在版本控制之下

若要將現有的方案新增至版本控制,請將所有方案檔移至您的工作區,然後在Visual Studio中加以新增。

  1. 在 Visual Studio 中, 連線到您的 Azure DevOps 專案

  2. 選擇 [檢視>其他 Windows>原始檔控制總管]。

  3. 原始檔控制總管中,流覽至解決方案的邏輯父資料夾,例如 $/SiteApp/Main,其中 SiteApp 是您項目的名稱。 若要深入瞭解如何命名本機資料夾,請參閱 優化資料夾名稱

  4. 選取 [本機路徑] 旁視窗頂端的連結,以在 Windows 檔案總管 中開啟父資料夾。 如果鏈接顯示 [未對應],請參閱 建立和使用工作區 ,以取得對應工作區的相關信息。

  5. 在 檔案總管 中,將包含您解決方案的資料夾移至父資料夾。

  6. 在 Visual Studio 中,選擇 [檔案>開啟專案],然後流覽至並開啟方案。

  7. 方案總管 中,以滑鼠右鍵按下方案名稱,然後從操作功能表中選取 [將方案新增至原始檔控制]。

  8. 再次以滑鼠右鍵按兩下方案名稱,然後從操作選單中選取 [簽到]。

  9. 在 Team Explorer[擱置變更] 頁面上,如果您在 [排除的變更] 區段中看到 [偵測到] 連結,請選取連結。

  10. [ 升階候選變更 ] 對話框會列出方案中任何程式碼專案未參考的檔案。 選取您想要簽入的任何這些檔案,取消選取您不想存回的任何檔案,然後選取 [升級 ] 將選取的檔案 移至 [包含的變更]。 如果您不想簽入任何列出的檔案,請選取 [ 取消 ] 以關閉對話方塊。

  11. 選取 [簽到]。

如需詳細資訊,請參閱 提交擱置中的變更

將一或多個檔案新增至版本控制

當您在 Visual Studio 方案總管 中將檔案新增至程式代碼專案時,系統會自動將檔案新增至版本控制。 您也可以新增程式代碼項目未參考的檔案。

自動將一或多個檔案新增至版本控制

  1. 在 Visual Studio 中, 連線到您的 Azure DevOps 專案

  2. 選擇 [檢視>其他 Windows>原始檔控制總管]。

  3. [原始檔控制總管] 中,流覽至您要新增檔案或資料夾的資料夾。

  4. 選取 [原始檔控制總管] 視窗頂端 [本機路徑] 旁的連結,以在 Windows 檔案總管 中開啟目標資料夾。 如果鏈接顯示 [未對應],請參閱 建立和使用工作區並對應您的工作區

  5. 在 檔案總管 中,將您的檔案或資料夾移至目標資料夾。

  6. 在 Visual Studio Team Explorer[擱置變更] 頁面上,如果您在 [排除的變更] 底下看到 [偵測到] 連結,請選取連結。

  7. 在 [ 升階候選變更 ] 對話框中,只選取您要簽入的檔案,然後選取 [ 升階]。 如果您不想簽入任何列出的檔案,請選取 [取消 ]。

  8. 選取 [簽到]。

如需詳細資訊,請參閱 提交擱置中的變更

手動將檔案新增至版本控制

您也可以手動將檔案新增至版本控制。

  1. 在 Visual Studio 中,選擇 [檢視>其他 Windows> 原始檔控制總管]。

  2. [原始檔控制總管] 中,流覽至您要新增檔案的資料夾。

    重要

    請確定此資料夾已存入。 如果您建立新的資料夾,請以滑鼠右鍵按兩下它,然後選取 [簽到],然後在繼續之前先簽入新資料夾。

  3. 將檔案從 Windows 檔案總管 拖曳至 Visual Studio 原始檔控制總管視窗。

  4. 在 Team Explorer 的 [擱置變更] 頁面上,確定 [包含的專案] 會列出您要新增的所有檔案,然後選取 [簽到]。

使用程式代碼不包含的二進位檔

許多小組相依於存在於其程式代碼解決方案外部的二進位檔。 這些二進位檔通常是小組從第三方授權的連結庫的一部分,或二進位檔來自同一家公司中的另一個小組。 例如,Team A 取決於 Team B 產生的二進位檔,而且每個小組在不同的專案集合中運作。 Team B 會將二進位檔傳遞給小組 A,以將它們檢查到版本控制中。

提示

NuGet 套件可讓您的小組更輕鬆地管理相依性,並將二進位檔保持在最新狀態。 您可以使用 Azure Artifacts,將 NuGet 套件儲存在 Azure DevOps Server 或 Azure DevOps Services 中。

您應該用來儲存外部二進位檔的資料夾和工作區結構,取決於您的解決方案相依於這些連結庫的方式。

在資料夾或分支結構中新增二進位檔

如果您將外部二進位檔放在包含方案資料夾的相同父資料夾中,則所有方案中的所有程式代碼專案都可以參考具有相同相對路徑的連結庫。 例如,小組可以使用下列資料夾結構:

顯示主要父資料夾內 Library 資料夾的圖表。

接著,每個程式代碼專案都可以使用相對路徑 ../../Lib來參考連結庫資料夾。

如果您的小組需要隔離需要不同二進位檔版本的個別工作,您可以分支連結庫資料夾以及您的方案資料夾。 例如,應用程式第 1 版會利用連結庫第 1 版。 當某些開發人員處理下一個版本時,他們會使用第 2 版,但其他開發人員尚未準備好升級。 您可以使用分支來管理這些情況。

顯示分支結構內連結庫資料夾的圖表。

使用工作區來對應二進位檔

有些公司必須管理對外部連結庫的更複雜的相依性。 例如,多個專案可能包含在一組通用連結庫上具有不同相依性的解決方案。 在這些情況下,您可以將外部連結庫儲存在專用專案中。 包含所需連結庫之資料夾中各種項目的參與者對應。

例如,FabrikamFiber 會就地放置下列專案、分支和資料夾結構:

此圖顯示儲存在專用專案中的連結庫。

開發人員可以使用兩個工作區來設定開發機器,以進行兩種不同的工作,每個工作區都會對應到它所需的連結庫中:

顯示工作區在連結庫中對應方式的圖表。

自定義哪些檔案版本控制會忽略

根據預設,版本控制會忽略特定類型的檔案,例如 .dll 檔案。 當您將忽略的檔案新增至本機工作區中對應的資料夾,或將忽略的檔案拖曳至原始檔控制總管中時,檔案會出現在 Team Explorer[擱置變更] 頁面上的 [排除專案] 底下

您可以將 .tfignore 文字檔放在您要套用組態的資料夾中,來設定要忽略的文件類型。 .tfignore 檔案效果是遞歸的,但子資料夾中的 .tfignore 檔案會覆寫父資料夾中的 .tfignore 檔案。

.tfignore 檔案的規則

下列規則適用於 .tfignore 檔案:

  • # 會開始批注行。
  • * 支援和 ? 通配符。
  • 除非前面加上 字元,否則 filespec 是遞歸的 \
  • ! 否定 filespec,因此不會忽略符合模式的檔案。

範例 .tfignore 檔案

######################################
# Ignore .cpp files in the ProjA subfolder and all its subfolders
ProjA\*.cpp
#
# Ignore .txt files in this folder
\*.txt
#
# Ignore .xml files in this folder and all its sub-folders
*.xml
#
# Ignore all files in the Temp sub-folder
\Temp
#
# Don't ignore .dll files in this folder nor in any of its subfolders
!*.dll

建立並使用 .tfignore 檔案

您可以手動建立使用上述規則的 .tfignore 文字檔,或在 [擱置變更] 頁面偵測到排除的變更自動產生 .tfignore 檔案。

  1. [Team Explorer] 的 [擱置變更] 頁面上,選取 [排除的變更] 區段中的 [偵測到] 連結。
  2. 在 [ 升階候選變更 ] 對話框中,以滑鼠右鍵按下您想要忽略的檔案,然後從操作功能表選取 [忽略此本機專案]、 [依擴展名忽略]、 [依檔名忽略] 或 [忽略資料夾 ]。
  3. 選取 [ 取消 ] 以關閉對話框。
  4. .tfignore 檔案會出現在 [擱置變更] 頁面的 [包含的變更] 區段中。 您可以開啟此檔案並加以修改,以符合您的需求。

.tfignore 檔案會新增為包含的擱置變更,因此您建立的規則會自動套用至取得檔案的人員。

從命令提示字元工作

針對自動化程式,或如果您想要使用命令提示字元,您可以使用 tf.exe add 命令 ,而不是本文中的程式。 命令 add 會將檔案從本機計算機上的工作區上傳至伺服器。