簡體   English   中英

登記時,git-tf告訴我“無法鎖定”;我該怎么解決?

[英]git-tf tells me “Could not lock” when checking in; how can I fix it?

我正在使用git-tf推送到TFS項目。 有時,當我嘗試將一個或多個提交檢入TFS時,我收到如下消息:

連接到TFS ......
簽入$ / MyProject:0%
git-tf:無法鎖定$ / MyProject

這是什么意思? 是什么阻止我鎖定? 我該如何解決這個問題?

為什么會這樣

使用標准TFS時,您一次只能檢入一個提交。 但是使用Git,你可以進行一系列的提交,你可以同時推送所有提交。

因此,git-tf努力使你的提交集保持原子性。 如果有人在您辦理登機手續時辦理登機手續,那么歷史可能會混亂; 它不會被正確合並。

為了防止這種情況,git-tf會在簽入時臨時鎖定整個源樹 。但是,如果其他人已經鎖定了源樹的某些部分,則無法執行此操作。

怎么解決它

你會在某些地方看到--no-lock參數:

git tf checkin --no-lock

這不是一個好的解決方案。 它忽略了潛在的擾亂歷史問題,而不是解決它。

如何解決它

  1. 根據您正在使用的TFS版本,下載並安裝適當版本的TFS Sidekicks
  2. 運行TFS Sidekicks。
  3. 導航到工具>狀態Sidekick。
  4. 清除用戶名字段。
  5. 設置足夠寬的日期范圍以包含項目的整個歷史記錄。 如果願意,您可以過濾項目名稱字段。
  6. 單擊搜索。 您將獲得項目中所有已簽出文件的列表。
  7. 單擊“鎖定類型”列標題以按該列排序。 大多數文件在該列中可能都有“無”。 你正在尋找任何“鎖定”的文件。 這在二進制文件中最常見,因為它們無法合並。 默認情況下,TFS將在簽出時將其獨占鎖定。
  8. 一旦找到鎖定的文件,請與鎖定它們的人交談並協商解鎖。 如果此人不再在那里工作,您可能希望讓TFS管理員刪除鎖。
  9. 刪除所有鎖后,再次在TFS Sidekicks中單擊“搜索”,您會看到所有文件的鎖定類型均為“無”。 現在再次嘗試你的git tf checkin,這次它應該正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM