我以前使用过其他 DVCS 系统,但我是 git 新手。所以我认为我对如何按照我的意图使用它有错误的假设。
我有一个 RepoA,它有一个 master 和 development 分支,我在其中完成大部分工作。不久前,我从 RepoA 中克隆了 RepoB 以开始研究“BigFeatureA”,并在开发分支中也这样做了。我还没有完成 BigFeatureA,但我想带来自我进行克隆以来在 RepoA 中所做的所有更改,以便我继续使用最新的代码在 BigFeatureA 上工作。(目前在 RepoA 中,develop 和 master 分支是相同的,但当然,有时它们不是。)使用在 RepoB 中工作的 XCode,我从 RepoA 开发分支中提取了一个。我遇到了冲突,解决了它,启用了拉动按钮,然后进行了拉动。
现在在 RepoB 中,带来的所有更改都是“未提交的更改”,文件显示为“M”或已修改。因此,没有任何提交消息或任何东西来自 RepoA,只是源代码发生了变化。这不是我所期望的。这只是 XCode 版本的 git 工作流还是 git merge 的工作方式?
我的最终工作流程是在 BigFeatureA 完成后将 RepoB 推送到 RepoA。这样做和走向另一个方向,即:在 RepoA 和从 RepoB 拉动之间有区别吗?
(进一步阅读表明我可能应该在 RepoB 中创建一个“BigFeatureA”分支,然后在其中的开发分支上从 RepoA 拉取,然后从 BigFeatureA 分支合并到开发分支。这样做会有所不同分支与回购之间的合并?)