首页 > 解决方案 > Git在分支的分支上拉取和获取

问题描述

Git新手在这里,使用Visual Studio而不是命令行来发出命令。我对良好分支策略的理解是我们在存储库中有一个“主”。然后,我们有一个来自 main 的“dev”分支,所有开发人员都在该分支上工作。为了实现更改,我们从“dev”分支分支,然后在工作完成后通过拉取请求签入“dev”。一旦“dev”工作在几周后完成,“dev”就会合并到“main”中。

在此处输入图像描述

我正在努力满足自己的是,如果我在本地分支上工作(来自“dev”),并且我获取或拉入 Visual Studio 以使其与其他开发人员的更改保持同步,我希望它能够拉动来自“dev”,因为那是我最初的分支。Visual Studio 同步中没有什么可以显示它正在做的事情。

它只是说“为本地分支拉取更改”,这就是它所显示的全部内容:

在此处输入图像描述

任何人都可以在这种情况下澄清它将从原始分支(即“dev”而不是“main”)中提取/获取吗?我已经看了一遍,但找不到任何能说服我的东西,我怀疑使用一些命令行工具会更清楚。

标签: gitvisual-studio

解决方案


git pull(或等效的 GUI 命令)将当前分支更新为服务器上的最新版本。因此,这通常只在您处于开发或主控状态时才会起作用,或者在极少数情况下,当多个开发人员在一个特性分支上工作时。

git fetch从服务器中提取所有分支的所有更改,但不更新您的工作副本。通常,您将在 git fetch 之后查看历史记录并手动更新您的工作副本,方法是将开发合并到您的工作分支,或者(更常见的是)将您的工作副本重新定位在最新的开发分支上。在 Visual Studio 中,您可以通过右键单击分支(当前分支除外)并执行“合并分支到当前分支”命令来进行合并。要将您的分支重新设置为另一个分支,请选择“重新设置当前分支”

这是菜单的样子(抱歉,只有德语截图,但你应该明白这一点)

分支操作的上下文菜单


推荐阅读