將檔案加入至伺服器

Azure DevOps Services |Azure DevOps Server 2020 |Azure DevOps Server 2019 |TFS 2018

Visual Studio 2022 |Visual Studio 2019 |Visual Studio 2017 |Visual Studio 2015 |Visual Studio 2013

當您使用 [方案總管] 且您的專案受到版本控制時,將檔案加入至版本控制通常是自動進行的。 不過在某些情況下,您必須另外採取其他步驟將專案加入至版本控制。

提示

將檔案新增至版本控制之前,您應該先 在開發電腦上設定工作區

建立受版本控制的新程式碼專案及方案

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

New Project dialog box

  1. 在 Visual Studio中,如果您尚未這麼做,請連線到專案

  2. 選擇[檔案]、[新增]、[Project (鍵盤:Ctrl + Shift + N) 。

    [新增專案] 對話方塊隨即出現。

  3. 選取您想要建立的程式碼專案類型。

  4. 在 [ 名稱] 方塊中,指定程式碼專案的名稱。

  5. 如果 [ 方案 ] 清單出現,請確定已選取 [ 建立新的方案 ]。

  6. 在 [ 位置] 清單中,指定 良好本機工作資料夾 的路徑, (例如 c:\code\SiteApp\Main\) 在您 設定開發電腦時所建立的工作區中。

    確定已選取 [建立方案目錄 ] 和 [ 新增至原始檔控制] 核取方塊。

  7. 選擇[確定] 來建立程式碼專案,然後您可以在 方案總管 ([鍵盤] 中檢視:Ctrl + Alt + L) 。

    New Code Project in Solution Explorer

  8. 方案總管中,開啟您所建立或修改之解決方案的操作功能表,然後選擇 [存回] 以提交暫止的變更

將現有方案和程式碼專案放到版本控制下

若要將現有的方案加入至版本控制,請將所有方案檔案移至您的工作區,然後加入它們。

注意

避免使用 [ 將方案新增至原始檔控制] 對話方塊,將您的方案上傳至版本控制。 請改用下列的程序。

  1. 在 Visual Studio中,如果您尚未這麼做,請連線到專案

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

  3. 在 [原始檔控制總管] 中,流覽至解決方案的邏輯父資料夾,例如 $/SiteApp/Main,其中 SiteApp是您專案的名稱。 為什麼這是個好的上層資料夾?

  4. 選擇 [本機路徑]旁的連結,以在 Windows 8) 中開啟 [Windows總管] (檔案總管的父資料夾。

    如果連結文字為「未對應」,該怎麼辦

  5. 將包含方案的資料夾移至上層資料夾。

  6. 在 [Visual Studio] 中,選擇 [檔案]、[開啟]、[開啟]、[Project/方案],然後使用 [開啟Project] 對話方塊來開啟方案。

  7. 在 [方案總管 (鍵盤:Ctrl + Alt + L) ],選取方案,開啟其操作功能表,然後選擇 [將方案新增至原始檔控制]。

  8. 在方案總管中,選取方案、開啟其操作功能表,然後選擇 [存入]。

  9. 在 Team Explorer 中,[擱置變更] 頁面隨即出現。

  10. [排除的變更] 區段中是否有任何偵測到的專案?

    • 不: 跳到下一個步驟。

    • 是的: 選擇 [ 偵測到 ] 連結。 [ 升階候選變更 ] 對話方塊隨即出現。 在這個對話方塊中列出的檔案不會由您方案中的任何程式碼專案參考。 如果您的小組需要這些檔案,請確定已選取這些檔案,然後選擇 [升級] 將它們移至[擱置變更] 頁面的 [包含變更] 區段。 如需詳細資訊,請參閱 簽入小組的程式碼基底

  11. 當您準備好時, 請提交擱置中的變更

將一個或多個檔案加入至版本控制

當您使用 [方案總管] 將檔案加入至您的程式碼專案時,系統會自動將其加入至版本控制。 不過,您也可以加入不由您程式碼專案所參考的檔案。

提示

如果您要建立自動化程式或偏好使用命令提示字元,您可以使用 Add 命令 ,而不是下列程式。

自動將一個或多個檔案加入至版本控制

重要

這些步驟僅適用于使用 本機工作區時。 在伺服器工作區中工作時儲存的檔案將會新增並簽入,而不會在 Team Explorer 中顯示為擱置變更。

如果您使用 本機工作區,則 [ 擱置變更 ] 頁面會自動偵測新的檔案。

  1. 在 Visual Studio中,如果您尚未這麼做,請連線到專案

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

  3. 在 [原始檔控制總管] 中,巡覽至您要將檔案或資料夾加入其中的資料夾。

  4. 選擇 [本機路徑] 旁的連結,以在 Windows 8) 中開啟Windows總管 (檔案總管的目的檔案夾。

    將您的檔案和資料夾移入這個資料夾中。

    如果連結文字為「未對應」,該怎麼辦

  5. 在 [Visual Studio] 的 [Team Explorer] 中,選擇 [擱置變更]。

  6. 在 [ 擱置變更 ] 頁面上的 [ 排除的變更 ] 區段中,選取 [ 偵測到 ] 連結。

  7. 在 [ 升階候選變更 ] 對話方塊中,確定只選取您要存回的檔案,然後選擇 [ 升階]。

  8. 提交擱置中的變更

手動將檔案加入至版本控制

您也可以手動將檔案加入至版本控制。

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

  2. 在 [原始檔控制總管] 中,巡覽至您要放置檔案的資料夾。

重要

在您繼續前,請確定這個資料夾已簽入。 如果您現在要建立資料夾,請開啟其操作功能表,然後選擇 [ 存入],然後在繼續之前先存入新資料夾。

  1. 將資料夾或檔案從 [Windows 檔案總管] (或 [檔案總管]) 拖曳到 [原始檔控制總管] 中的資料夾。

  2. 當 [ 新增至原始檔控制] 對話方塊出現時,請確定已選取您要新增的所有檔案,然後選擇 [ 包含專案] (s)

  3. 選擇 [完成]

  4. 在 Team Explorer 中,當 [擱置變更] 頁面出現時,請確定您想要新增的二進位檔會出現在 [包含的變更] 區段中。 選擇 [簽入]。

運用您的程式碼未建置的協力廠商二進位檔

許多小組開發的程式碼所依賴的二進位檔,並不是由管理程式碼所在的方案所建置。 通常這些二進位檔是經協力廠商授權小組使用之程式庫的一部分。

有時候這些二進位檔來自同一公司的另一個小組。 例如,Team A 相依于 Team B 所產生的二進位檔,而且每個小組都必須基於某些原因在不同的專案集合中工作。 因此,B 小組傳遞二進位檔給 A 小組,而由後者簽入至版本控制。

提示

如果您的開發機器和組建代理程式可以存取網際網路,NuGet可能會讓您的小組更輕鬆地管理您的相依性,並將二進位檔保持在最新狀態。 您可以使用 Azure Artifacts,將套件儲存在 TFS 或Azure DevOps Services中。

您應該用來儲存協力廠商二進位檔的資料夾和工作區結構,取決於您的方案依賴這些程式庫的方式。

在資料夾或分支結構中加入二進位檔

如果您將協力廠商的二進位檔放入包含方案資料夾的相同父資料夾中,則在所有方案的所有程式碼專案可以參考具有相同的相對路徑的程式庫。

例如,小組會使用這個資料夾結構:

Library folder within the main parent folder
每個程式碼專案可以參考使用下列相對路徑的程式庫資料夾:../../Lib

如果之後在您的專案中,您的小組必須隔離需要二進位碼檔案的不同版本的個別工作,您可以將程式庫資料夾和您的方案資料夾分支處理。

例如,第 1 版本的應用程式會利用程式庫的第 1 版。 當資料存取小組的部分開發人員在處理下一個版本時,他們會利用第 2 版。 但是其他小組尚未準備好升級。 您可以使用分支管理這種情況。

Library folder within a branch structure

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

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

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

Libraries stored in a dedicated project

Raisa 在其開發電腦上設定了兩個工作區來提供兩種不同的用途,各工作區對應需要的程式庫:

Workspaces map in the libraries

自訂版本控制要忽略哪些檔案

根據預設,版本控制會忽略某些檔案類型 (例如,.dll 檔案)。 因此:

  • 當您將忽略的檔案新增至本機工作區中對應的資料夾時,它們不會出現在 Team Explorer 的[擱置變更] 頁面中。

  • 當您嘗試使用 [新增至原始檔控制] 對話方塊新增忽略的檔案 (時,例如,將檔案拖曳到原始檔控制總管) ,它們會自動出現在 [ 排除的專案 ] 索引標籤中。

您可以將 .tfignore 文字檔放在您要套用規則的資料夾,以設定忽略哪些類型的檔案。 .tfignore 檔的作用是遞迴。 不過,您可以在子資料夾中建立 .tfignore 檔案,以覆寫父資料夾中 .tfignore 檔案的效果。

.tfignore 檔案規則

下列規則可套用至 .tfignore 檔案:

  • # 開始批註行

  • *支援 和 ? 萬用字元。

  • 除非前面加上 字元,否則 filespec 是遞迴的 \

  • ! 不會忽略符合模式的 filespec (檔案)

.tfignore 檔案範例

######################################
# Ignore .cpp files in the ProjA sub-folder 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
#
# Do not ignore .dll files in this folder nor in any of its sub-folders
!*.dll

建立並使用 .tfignore 檔

雖然您可以使用上述規則手動建立 .tfignore 文字檔,但您也可以在 [ 擱置變更 ] 頁面偵測到變更時自動產生。

重要

這僅適用于使用 本機工作區時。 在伺服器工作區中工作時變更的檔案將會簽入,而不會在 Team Explorer 中顯示為擱置變更。

若要自動產生 .tfignore 檔

  1. [擱置變更 ] 頁面的 [ 排除的變更 ] 區段中,選取 [ 偵測到 ] 連結。

    [ 升階候選變更 ] 對話方塊隨即出現。

  2. 選取檔案、開啟其操作功能表,然後選擇 [ 忽略此本機專案]、[ 依副檔名忽略]、 [依檔案名忽略] 或 [ 依資料夾忽略]。

  3. 選擇 [確定 ] 或 [ 取消] 以關閉 [ 升階候選變更 ] 對話方塊。

  4. .tfignore 檔案會出現在[擱置變更] 頁面的 [包含變更] 區段中。 您可以開啟這個檔案並加以修改以符合您的需求。

.tfignore 檔案會自動加入為包含的暫止變更,讓您所建立的規則會套用至會取得檔案的每個小組成員。

從命令提示字元工作

  • 將命令Upload開發人員電腦上工作區的檔案新增至伺服器。