如何在Azure DevOps中完全用另一个分支替换主分支

6
使用Azure DevOps,有一个存储在次要分支中的有效代码库。然而,主分支已经多年没有更新。
我希望清空主分支的内容,并使用次要分支的内容进行覆盖。
我知道处理不当可能会导致严重的命名空间问题,我想避免这种情况发生。
你推荐哪种方法可以在Azure DevOps中完全使用次要分支替换主分支?

3
这是一个Git仓库还是TFVC仓库? - Daniel Mann
这是一个名为"TFS GIT"的存储库,运行于Azure Devops内部的GIT存储库。 - nuprap
1
如果你无论如何都不想在主分支中保留这些文件,我建议选择简单的方法并重命名分支 - Melissa
@Melisco - 对我来说这个可以,但是它会引起任何长期问题吗? - nuprap
1个回答

8
  1. 将 repo 克隆到本地电脑。

    git clone {repo url}

  2. 进入本地的 repo 并移动到次要分支。

    git checkout {secondary branch}

  3. 复制所有内容 - Ctrl+A, Ctrl+C

  4. 回到主分支。

    git checkout master

  5. 粘贴文件(替换现有文件)Ctrl+V

  6. 提交更改。

    git add .

    git commit -m "update master"

  7. 将更改推送到 Azure DevOps。

    git push

现在,master 分支已更新为 secondary branch 的内容。


我在考虑这个问题……但由于主分支已经几年没有更新了,当使用主分支和次分支进行更新时,会不会出现任何问题呢?根据我的了解,如果我选择这种方法,应该考虑使用 -f 标志……这是正确的吗? - nuprap
1
克隆存储库,为备份复制它,尝试我建议的内容,成功了?很好。如果不行?尝试使用-f :) - Shayki Abramczyk
2
第三步应该是“将除.git文件夹以外的所有文件复制到临时位置。 第四步应该是“从步骤3的临时位置复制所有文件并将它们粘贴到现有文件上。Windows中的行为变更使得如果您不使用物理临时位置,则此过程不起作用。 - Henrov
1
这真的是最好的选择吗?唯一的选择?因为您仍然拥有旧提交历史记录,我想在一系列糟糕提交发生之前,在时间轴上拍摄一个快照,并推广新的主代码库。 - nagates

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接