长话短说,有一个 tfs 服务器宕机了。备份是一天前的(不在我的控制范围内)。
我们使用 git tfs 和 git tf 与服务器对话。当我执行 git tfs fetch 时,我收到一个错误,指出缺少变更集。
有没有办法将那些丢失的变更集从我的本地 git 推送到 tfs 服务器?
如果我很好地理解了这个问题,您应该编辑存储库的 .git 文件夹中的 git-tf 文件。该文件包含 changset<=>commit map 和从 TFS 下载的最新变更集的编号。文件内容可能类似于以下内容:
[git-tf "commits"]
changeset-11705 = d45df44afd49402363e400ff9dd3e4e57730c146
changeset-13531 = a6db40aa074c92dcef718f9fb0edf267518d01f4
changeset-13532 = f67ffc2555136c251212894ce78f01fa33b4e249
changeset-13533 = 9e6e0a05aa286dd3b80ef166f3dccd43714c84f4
changeset-13534 = e0a0701569adc90aea54ed53071d146de5b03e95
changeset-13535 = 26d7a3608174441760c94c3bc5d6f17b047d4ae4
changeset-13536 = e377b2d726074b4e94f584983a2985b8750e0df7
[git-tf "changesets"]
commit-d45df44afd49402363e400ff9dd3e4e57730c146 = 11705
hwm = 13536
commit-a6db40aa074c92dcef718f9fb0edf267518d01f4 = 13531
commit-f67ffc2555136c251212894ce78f01fa33b4e249 = 13532
commit-9e6e0a05aa286dd3b80ef166f3dccd43714c84f4 = 13533
commit-e0a0701569adc90aea54ed53071d146de5b03e95 = 13534
commit-26d7a3608174441760c94c3bc5d6f17b047d4ae4 = 13535
commit-e377b2d726074b4e94f584983a2985b8750e0df7 = 13536
假设 TFS 服务器上缺少变更集 13536 和 13535。如果你删除这些行
changeset-13535 = 26d7a3608174441760c94c3bc5d6f17b047d4ae4
changeset-13536 = e377b2d726074b4e94f584983a2985b8750e0df7
和
commit-26d7a3608174441760c94c3bc5d6f17b047d4ae4 = 13535
commit-e377b2d726074b4e94f584983a2985b8750e0df7 = 13536
并修改 hwm 值:
hwm = 13534
你应该能够解决这个问题。