Git:如何将我的本地分支恢复到远程分支状态?

标签 git

我弄乱了项目的本地分支,我想将本地副本恢复到远程状态。我如何实现这个简单的目标?

最佳答案

如果你不怕丢失任何本地历史,你可以切换到另一个分支然后删除你的本地分支,然后检查远程版本。例如,如果您想恢复名为“test_feature”的分支,您可以这样做:

$ git checkout master
$ git branch -D test_feature # see note about -D below
$ git checkout test_feature  # should track origin/test_feature

注意:-D 将强制删除分支,并抑制有关未 merge 更改的警告。

如果您 merge 了一个您不打算 merge 的分支,这将很有用,因为 HEAD 指针会根据 merge 类型而改变。

编辑:做同样事情的另一种方法是简单地输入:

git reset --hard origin/test_feature

这会将您当前所在的分支重置为远程(在本例中为 origin)分支 test_feature 的状态。

@hvgotcodes 在他的例子中有一个变体(他的目标是 HEAD 提交)

关于Git:如何将我的本地分支恢复到远程分支状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9811748/

相关文章:

git - ssh -vT git@github.com kex_exchange_identification : Connection closed by remote host

git - Dart - 如何检查 Git 是否安装正确?

git - `git pull --rebase --autostash` 和 `git pull --ff-only` 之间的区别?

git - 始终推送到远程的不同分支,而不设置上游

git - 如何使用 Git Bash 将审阅者添加到 azure devops pull 请求

git - 你如何让 git diff 在 OS X 上使用 gitx --diff

git - 如何在 Git 中以交互方式添加未跟踪的文件?

java - 我如何从 java 运行 git 命令?

Git:svn log --stop-on-copy 等效

git - 如何从一开始就对所有提交进行 rebase