如何在不合并的情况下用另一个分支替换 Git 中的分支

Tox*_*ain 5 git merge

我的回购结构是这样的。

  • 分支 'dev' - 从 'master' 创建并且是当前的。
  • 分支 'master' - 过去 2 年没有提交。但是在“开发”之前很少有提交(不需要的)。

现在我需要使“主”代码与“开发”完全相同。我猜,合并会导致保留对“主”的不需要的提交。有什么帮助吗?

Tim*_*sen 5

您可以master对当前dev分支进行硬重置:

# from master
git checkout master
git reset --hard dev
Run Code Online (Sandbox Code Playgroud)

但请记住,这可能会丢弃master该分支独有的任何提交。如果这是您的顾虑,请考虑将其分支master作为安全预防措施。

下次推master送到遥控器时,您可能必须强制推送:

git push --force origin master
Run Code Online (Sandbox Code Playgroud)

强制推送的原因是你已经重写了master分支的基础,Git 不会接受常规推送。