使用 git,如何删除远程分支的本地副本?或者至少拉动而不合并?

问题描述 投票:0回答:3

另一位开发人员删除并重建了一个名为“development”的远程分支,我已经签出了该分支。他进行了删除和重建,以消除其中的一些缺陷。这太棒了。

但是当我进行“git pull origindevelopment”时,它不断出现合并冲突。但我不想要我的副本中的内容。我只想要原产地的东西。

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

git branch git-branch branching-and-merging
3个回答
23
投票

从原始远程获取最新的更改。此步骤是您在问题中要求的“拉而不合并”步骤。

git pull
相当于
git fetch
后跟
git merge

$ git fetch origin

如有必要,前往干净的树枝。

$ git stash

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

$ git checkout development

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

$ git reset --hard origin/development

使用

git reset --hard
之前务必三思而后行,就像使用
rm -rf
一样。它是一个锋利、有用的工具,但如果你不小心,它可能会毁掉你的工作。


19
投票

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

git branch -D <branch-name>

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

git fetch

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

git checkout -b development origin/development

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


0
投票

使用“prune”命令找到此链接:

https://opensource.com/article/22/8/delete-local-reference-remote-branch-git

它对我(甚至)在之前删除的远程分支的情况下也有效。

© www.soinside.com 2019 - 2024. All rights reserved.