在我的工作场所,在使用 Source Safe 10 多年后,我们刚刚迁移到 Git 进行版本控制(耶!)。我现在必须支持我们的工程师学习新工具。需要注意的是,我们都在使用 Windows 下的 GitExtensions UI。
几个同事做了以下事情(来自 UI):
- 克隆中央存储库(origin)
- 基于主开发分支创建一个新的本地分支(A )
- 在A分支上创建提交
- 虽然仍然检查了那个A分支,但他们(错误地)将主开发分支拉到了他们的A分支中
下面是我们进行拉取操作时 GitExtensions 的 UI 的样子(遗憾的是,我无法发布工作中的屏幕截图):
拉取自:原点
当地分公司:A
远程分支:开发
合并选项:将远程分支合并到当前分支
(然后按下拉按钮)
这是 GitExtensions 的命令日志显示它为拉动所做的:
git pull --progress "origin" +refs/heads/develop:refs/remotes/origin/A
在该命令之后,用户看到他们的历史记录中出现了一个新的origin/A远程跟踪分支,而我们确认origin 上不存在分支A。
我查看了 git pull 手册试图了解发生了什么,但我仍然无法理解我们看到的是 GitExtensions 错误还是我们对 git pull 应该做什么的误解。
任何人都可以帮我弄清楚这里发生了什么?
提前致谢
编辑
我知道将远程开发分支拉到本地A分支没有意义,我知道如何通过删除远程跟踪分支来解决这种情况。我真正想要的是了解最初创建的origin/A远程跟踪分支背后的逻辑,因为 origin 上没有A分支。
谢谢