共用方式為


了解檔案差異和衝突類型

更新:2007 年 11 月

由一位以上人員處理相同專案的軟體開發小組中,因為檔案的差異而發生衝突的情況是很常見的。Team Foundation 版本控制可讓您解決這些衝突。衝突可能會在進行下列作業期間發生:

  • 合併分支之間的變更

  • 取得檔案並置於工作區中

  • 簽入新版檔案

衝突類型

本主題含有下列衝突類型的詳細資訊:

版本衝突

檔案名稱衝突

本機覆寫衝突

版本衝突

版本衝突可能會在進行簽入、取得或合併作業時,在 Team Foundation 版本控制中發生。在每種情況下,當某個項目沿著不同的路徑發展時,就會產生衝突。

  • 簽入:兩位使用者簽出最新版的檔案。第一位使用者簽入變更時,便會建立新版檔案。當第二位使用者嘗試簽入時,就會發生版本衝突,因為該使用者並非針對最新版的檔案進行變更。

  • 取得:兩位使用者都簽出最新版的檔案。第一位使用者簽入變更時,便會建立新版檔案。當第二位使用者進行取得最新版本的作業時,就會發生版本衝突,因為取得最新版本的作業正嘗試更新工作區中已簽出的檔案。

  • 合併:分支檔案已經在兩個分支上修改。某位使用者嘗試從一個分支將變更合併至另一個分支。此時會發生版本衝突,因為檔案已經在兩個分支上修改。

解決版本衝突的方式包括合併變更或選取一組變更。如需詳細資訊,請參閱 HOW TO:解決兩個檔案之間的衝突

版本衝突

本機/來源變更

伺服器/目標變更

解決選項

(取得或簽入)

解決選項

(合併)

編輯

重新命名

取消刪除

編輯

重新命名

取消刪除

為我合併變更 (如果沒有衝突的話)

合併合併工具中的變更

復原我的本機版本變更

捨棄伺服器版本的變更

為我合併變更 (如果沒有衝突的話)

合併合併工具中的變更

保留目標分支中的變更

從來源分支複製項目這是預設選項

 

刪除

還原檔案並為我合併變更 (如果沒有衝突的話)

還原檔案並合併合併工具中的變更

復原我的本機版本變更

還原檔案但保留我的變更

還原檔案並為我合併變更 (如果沒有衝突的話)

還原檔案並合併合併工具中的變更

捨棄來源分支的變更

從來源分支複製項目

刪除

編輯

重新命名

取消刪除

復原我的本機版本變更

捨棄伺服器版本的變更

捨棄來源分支的變更

刪除目標分支中的項目

 

刪除

復原我的本機版本變更

捨棄來源分支的變更

 

 

 

略過這些衝突 (表示不處理該類型的衝突)

檔案名稱衝突

檔案名稱衝突可能會在進行簽入、取得或合併作業時,發生於 Team Foundation 版本控制中。在這三種情況下,當兩個以上的項目嘗試佔用原始檔控制伺服器中相同的路徑時,就會產生衝突。

  • 簽入:有兩位使用者各自將一個檔案加入至相同的應用程式。碰巧的是,這兩位使用者都為新檔案選擇了相同的名稱。第一位使用者簽入了他的檔案。當第二位使用者嘗試簽入時,就會發生檔案名稱衝突的情形。

  • 取得:兩位使用者將相同名稱的檔案加入應用程式。第一位使用者簽入檔案。當第二位使用者嘗試執行取得最新版本作業時,就會發生檔案名稱衝突的情形。這是因為無法將第一位使用者的檔案擷取至第二位使用者加入檔案的位置。

  • 合併:應用程式已經分支,而且已經在兩個分支中處理。在兩個分支中,已經加入具有相同名稱的檔案。某位使用者嘗試從一個分支將變更合併至另一個分支。此時會發生檔案名稱衝突,因為加入至來源分支的檔案無法在檔案已經加入至目標分支的位置進行分支。

檔案名稱衝突可能會因為任何在伺服器路徑命名空間中加入或移動項目的作業所造成,包括加入、重新命名、分支、取消刪除和合併等作業。

若要解決檔案名稱衝突,您必須選取最終將佔用原始檔控制伺服器路徑的項目。如需詳細資訊,請參閱 HOW TO:解決兩個檔案之間的衝突

檔案名稱衝突

本機/來源變更

伺服器/目標變更

解決選項 (取得或簽入)

解決選項 (合併)

加入

分支

重新命名

取消刪除

加入

分支

重新命名

取消刪除

復原我的本機版本變更

忽略衝突

捨棄來源分支的變更

忽略衝突

 

 

 

略過這些衝突 (表示不處理該類型的衝突)。這是預設選項。

本機覆寫衝突

本機覆寫衝突只會在進行取得作業時,發生於 Team Foundation 版本控制中。當取得作業嘗試在您的工作區中覆寫可寫入的檔案時,就會發生這些衝突。根據預設,取得作業只會取代唯讀的檔案。解決本機覆寫衝突包括覆寫檔案,或是簽出檔案並合併變更。

可寫入的檔案

本機/來源變更

伺服器/目標變更

解決選項 (取得或簽入)

解決選項 (合併)

不適用

不適用

覆寫本機檔案/資料夾

忽略衝突

不適用

 

 

 

略過這些衝突 (表示不處理該類型的衝突)。

這是預設選項。

注意事項:

您無法使用 [解決選取的衝突] 對話方塊解決需要使用合併工具來解決的版本衝突。這個對話方塊不包含合併合併工具中變更的選項。此外,如果您選取 [為我合併變更],而且發現存在內部內容衝突時,就不能叫用合併工具。而是會顯示 [未解決的衝突] 對話方塊,內容說明您必須個別解決某些檔案的問題。如果只有一個檔案有問題無法解決,此對話方塊就會包含該檔案的名稱。如果有一個以上的檔案有問題未解決,則此對話方塊就會包含檔案的數目。

下列為比較選項:

衝突類型

來源變更

比較選項 (取得或簽入)

比較選項 (合併)

版本

編輯

重新命名

取消刪除

本機至伺服器

本機至原始

伺服器至原始

來源至目標

來源至基底

目標至基底

 

 

本機至已刪除

本機至原始

已刪除至原始

來源至已刪除

來源至基底

已刪除至基底

 

刪除

原始至伺服器

已刪除至目標

 

 

不適用

不適用

檔名衝突

加入

分支

重新命名

取消刪除

本機至伺服器

來源至目標

可寫入的檔案

不適用

不適用

不適用

請參閱

工作

HOW TO:解決兩個檔案之間的衝突

HOW TO:取得 Team 專案的原始檔

HOW TO:簽入暫止的變更

其他資源

解決資料夾差異和檔案衝突 (Team Foundation 版本控制)