14

另一位开发人员删除并重建了一个名为“开发”的远程分支,我已经有一个签出副本。他做了这个删除和重建以从中删除一些杂物。这是伟大的。

但是当我进行“git pull origin development”时,它会不断出现合并冲突。然而,我不想要我的副本中的内容。我只想要原始的东西。

那么如何删除它的本地副本并将其拉回呢?或者至少在不将我的本地信息合并到其中的情况下进行拉取?

4

2 回答 2

22

从源远程获取最新的更改。此步骤是您在问题中要求的“不合并拉取”步骤。git pull相当于git fetch后面跟着git merge

$ git fetch origin

如有必要,请前往干净的分支。

$ git stash

使用干净的分支,如果您还没有,请切换到开发分支。

$ git checkout development

最后,强制您的本地开发分支指向与原点相同的提交。

$ git reset --hard origin/development

使用前请务必三思而后git reset --hardrm -rf。它是一种锋利而有用的工具,但如果你不小心,它可能会破坏工作。

于 2013-03-01T17:12:38.683 回答
16

要永久删除本地分支,请执行以下操作:

git branch -D <branch-name>

从远程仓库获取更改但不合并:

git fetch

现在创建并签出远程分支的本地副本并跟踪它:

git checkout -b development origin/development

git 应该告诉您“分支开发设置为从源跟踪远程分支开发”,并且它已在本地切换到开发分支。

于 2013-03-01T16:57:48.630 回答