手冊

從其他人的變更更新您的工作副本

圖 4.11. 顯示已完成更新的進度對話方塊

Progress dialog showing finished update


您應該定期確保將其他人所做的變更納入您的本機工作副本中。從伺服器取得變更到您的本機副本的過程稱為 更新。更新可以針對單個檔案、一組選定的檔案或遞迴地針對整個目錄階層執行。若要更新,請選取您想要的檔案和/或目錄,按一下滑鼠右鍵 並在檔案總管上下文選單中選取 TortoiseSVN更新。將會彈出一個視窗,顯示更新執行時的進度。其他人所做的變更將會合併到您的檔案中,同時保留您可能對相同檔案所做的任何變更。儲存庫不會受到更新的影響。

進度對話方塊使用顏色編碼來突顯不同的更新動作

紫色

新增項目到您的 WC。

深紅色

從您的 WC 刪除多餘的項目,或在您的 WC 中取代遺失的項目。

綠色

來自儲存庫的變更已成功與您的本機變更合併。

亮紅色

來自儲存庫的變更與本機變更合併,導致您需要解決的衝突。

黑色

您 WC 中未變更的項目已使用儲存庫中較新的版本更新。

這是預設的顏色配置,但您可以使用設定對話方塊自訂這些顏色。請閱讀名為「TortoiseSVN 色彩設定」的章節以取得更多資訊。

如果您在更新期間遇到任何衝突(如果其他人與您在同一個檔案的相同行中進行了變更,並且這些變更不符,則可能會發生這種情況),則對話方塊會以紅色顯示這些衝突。您可以按兩下這些行以啟動外部合併工具來解決衝突。

更新完成後,進度對話方塊會在檔案清單下方顯示已更新、新增、移除、衝突等的項目數量的摘要。可以使用 Ctrl+C 將此摘要資訊複製到剪貼簿。

標準的「更新」命令沒有任何選項,僅將您的工作副本更新到儲存庫的 HEAD 修訂版本,這是最常見的使用案例。如果您想要更進一步控制更新程序,則應改用 TortoiseSVN更新至特定版本...。這可讓您將工作副本更新到特定修訂版本,而不僅僅是最新的修訂版本。假設您的工作副本位於修訂版本 100,但您希望它反映修訂版本 50 中的狀態 - 然後只需更新至修訂版本 50 即可。

在同一個對話方塊中,您也可以選擇更新目前資料夾的 深度。所使用的術語在名為「檢出深度」的章節中描述。預設深度為 工作副本,這會保留現有的深度設定。您也可以設定深度 sticky,這表示後續更新將使用該新深度,即該深度隨後將用作預設深度。

為了更容易包含或排除檢出中的特定項目,請按一下 選擇項目... 按鈕。這會開啟一個新的對話方塊,您可以在其中勾選您想要在工作副本中的所有項目,並取消勾選您不想要的所有項目。

您也可以選擇是否在更新中忽略任何外部專案(即使用 svn:externals 參考的專案)。

注意

如果您將檔案或資料夾更新到特定修訂版本,則不應對這些檔案進行變更。當您嘗試提交它們時,您會收到 過時 錯誤訊息!如果您想要還原檔案的變更並從較早的修訂版本重新開始,您可以從修訂記錄對話方塊回滾到先前的修訂版本。請查看名為「在儲存庫中回滾(還原)修訂版本」的章節,以取得進一步的指示和替代方法。

更新至特定版本 有時可用於查看您的專案在歷史記錄中較早的某個時間點的樣子。但一般來說,將個別檔案更新到較早的修訂版本並不是一個好主意,因為這會使您的工作副本處於不一致的狀態。如果您正在更新的檔案已變更名稱,您甚至可能會發現該檔案只是從您的工作副本中消失,因為在較早的修訂版本中不存在該名稱的檔案。您也應該注意,該項目將顯示正常的綠色覆蓋圖示,因此它與最新的檔案無法區分。

如果您只是想要檔案舊版本的本機副本,最好使用該檔案的記錄對話方塊中的 上下文選單將版本另存為... 命令。

多個檔案/資料夾

如果您在檔案總管中選取多個檔案和資料夾,然後選取 更新,則所有這些檔案/資料夾都會逐一更新。TortoiseSVN 確保來自同一個儲存庫的所有檔案/資料夾都更新到完全相同的修訂版本!即使在這些更新之間發生了另一次提交也是如此。

TortoiseSVN 首頁