【问题标题】:Create branch from local directory after it was destroyed in our TFS repository在我们的 TFS 存储库中销毁本地目录后从本地目录创建分支
【发布时间】:2017-07-31 02:42:00
【问题描述】:

我们不小心破坏了 TFS 服务器的一个分支。

有没有办法从我电脑上的本地文件创建一个新的分支?

我研究了这两个解决方案:

但我认为我不能使用它们,因为我的更改没有搁置

基本上我认为我需要创建一个新分支并用本地目录覆盖它。这可能吗?

【问题讨论】:

  • 你删除不破坏分支?如果是这样,您可以简单地恢复分支而不是创建一个新分支。
  • 我们摧毁了它。

标签: tfs data-recovery tfvc


【解决方案1】:

您可以从一个新文件夹开始

  • 将父文件夹映射到新的本地工作区
  • 在本地工作区中创建要用作分支根目录的文件夹。
  • 从本地备份中复制内容。
  • 签入文件夹。
  • 在源代码管理资源管理器中,使用将文件夹转换为分支选项。
  • 从命令行执行与原始父文件夹 tf merge /baseless $/project/revivedfolder $/project/parentbranch /recursive /force 的毫无根据的合并
  • 解决所有冲突(这可能需要大量工作)
  • 签入完成恢复过程。

如果您有一个与已销毁分支足够相似的先前变更集(例如,用于最初创建已销毁分支的变更集,或者该分支最后一次成功合并的变更集),您还可以使用以下技术:

  • 从创建现在删除的分支或上次合并的变更集中从父分支分支一个新分支。
  • 将新的分支文件夹映射到新的本地工作区并获取最新的
  • 本地删除新本地工作区中的所有文件(这是为了确保已删除的文件将保持删除状态)
  • 将更改的文件粘贴到分支上。重命名时要小心,这些可能会丢失。您可以从团队资源管理器窗口解决它们。请参阅:Fix the outcome after you rename an item in your operating system
  • 签入本地工作区中的文件。
  • 由于分支是从父分支创建的,因此合并关系将存在,而无需执行无根据的合并。

支持选项 如果分支最近被删除,它可能仍然存在于 TFS 数据库中,除非您告诉它,否则清理作业不会立即运行。通过联系 Microsoft 支持,您可以恢复已删除的内容,包括所有历史记录。

【讨论】:

    【解决方案2】:

    首先,请确保你或你的队友没有破坏这个分支(这样做之后,在TFS服务器中无法恢复它)。

    如果在 Visual Studio 中删除此分支,

    恢复从服务器中删除的项目

    从菜单栏中选择工具、选项

    选项 对话框中,导航到 Source Control, Visual Studio Team Foundation Server。

    选择在源代码管理资源管理器中显示已删除的项目,然后 选择确定

    从菜单栏中选择查看其他窗口、源代码管理 资源管理器。

    在源代码管理资源管理器中,导航到包含 您要恢复的项目。

    打开项目的上下文菜单(选择项目并右键单击它)并 然后选择取消删除

    如果您从 Visual Studio 之外的开发机器中删除此分支,

    请从 MSDN 链接Delete or restore files and folders查看解决方案


    如果您有灰色选项(不可用),例如下面的屏幕截图

    注意:要取消删除分支,您必须首先将父文件夹/分支映射到您的工作区。现在,取消删除选项将被启用。

    【讨论】:

    • 不幸的是,我认为我们的 IT 将其销毁,因为我认为它没有被删除。但谢谢帮助。生病更新问题
    • 嗨@Dardar 请再次确认这一点,通常一个人不会不小心破坏 tfs 源代码控制中的文件。要查看已删除的文件,您需要在源代码管理资源管理器中显示已删除的项目,详细方法请参考此线程:pinter.org/archives/1455
    • @Dardar 如果你的 IT 真的破坏了分支,下面的步骤可能会奏效:删除旧的工作区,备份你的本地文件。在 TFS 服务器中创建一个新的空文件夹,创建一个新的工作区,将空文件夹与本地映射,将本地文件移动到空文件夹,签入所有待处理的更改。将文件夹转换为分支。
    • @MrHinsh 不,考虑不周。 OP 仍然需要执行一个无根据的合并,就像创建一个新分支一样。
    猜你喜欢
    • 1970-01-01
    • 2018-11-19
    • 2012-06-26
    • 1970-01-01
    • 2012-07-10
    • 2013-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多