协慌网

登录 贡献 社区

如何在 Git 中完全用远程分支替换本地分支?

我有两个分支:

  1. 本地分支机构(与我合作的分支机构)
  2. 远程分支(公共,只有经过充分测试的提交才可以进入)

最近,我严重搞砸了当地分支机构。

我将如何用远程分支完全替换本地分支,以便可以从现在的远程分支继续工作?

我已经搜索过 SO,并且在本地签出到远程分支没有任何效果。

答案

  1. 确保您已签出要替换的分支(根据 Zoltán 的评论 )。
  2. 假设 master 是您要替换的本地分支,而 “origin / master” 是您要重置为的远程分支:

    git reset --hard origin/master

这会将您的本地 HEAD 分支更新为与 origin / master 相同的修订版,并且--hard还将将此更改同步到索引和工作区中。

这很简单,只需三个步骤:

  1. 删除本地分支: git branch -d local_branch
  2. 获取最新的远程分支: git fetch origin remote_branch
  3. 根据远程分支重建本地分支: git checkout -b local_branch origin/remote_branch
git branch -D <branch-name>
git fetch <remote> <branch-name>
git checkout -b <branch-name> --track <remote>/<branch-name>