另一位开发人员删除并重建了一个名为“development”的远程分支,我已经签出了该分支。他进行了删除和重建,以消除其中的一些缺陷。这太棒了。
但是当我进行“git pull origindevelopment”时,它不断出现合并冲突。但我不想要我的副本中的内容。我只想要原产地的东西。
那么如何删除它的本地副本并将其拉回?或者至少在不将我的本地信息合并到其中的情况下拉取?
从原始远程获取最新的更改。此步骤是您在问题中要求的“拉而不合并”步骤。
git pull
相当于 git fetch
后跟 git merge
。
$ git fetch origin
如有必要,前往干净的树枝。
$ git stash
使用干净的分支,如果您还没有切换到开发分支。
$ git checkout development
最后,强制您的本地开发分支指向与原始分支相同的提交。
$ git reset --hard origin/development
使用
git reset --hard
之前务必三思而后行,就像使用 rm -rf
一样。它是一个锋利、有用的工具,但如果你不小心,它可能会毁掉你的工作。
要永久删除本地分支,请执行以下操作:
git branch -D <branch-name>
从远程存储库获取更改但不合并:
git fetch
现在创建并签出远程分支的本地副本并跟踪它:
git checkout -b development origin/development
git 应该告诉您“分支开发设置为跟踪来自源的远程分支开发”,并且它已在本地切换到开发分支。
使用“prune”命令找到此链接:
https://opensource.com/article/22/8/delete-local-reference-remote-branch-git
它对我(甚至)在之前删除的远程分支的情况下也有效。