Xcode git Pull后工作流混淆



我之前曾使用过其他DVCS系统,但我是Git的新手。因此,我认为我对如何按照自己的意图使用它有错误的假设。

我有一个仓库,它有一个主人,并开发了分支机构,在我做大部分工作的地方。不久前,我从Repoa克隆了Repob,开始从事" BigFeaturea"工作,并在开发分支机构中做到了这一点。我还没有完成BigFeaturea,但想带来自克隆以来的所有更改,以便我继续使用最新的代码在BigFeaturea上工作。(目前在Repoa中,开发和主分支是相同的,但当然,有时它们不是。)使用Xcode在Repob中工作,我从Repoa Develop Branch中进行了拉动。我发生了冲突,解决了它,启用了拉按钮,然后进行了拉动。

现在在Repob中,所带来的所有更改都是"未承诺的更改",文件正在显示" M"或"修改"。因此,没有任何提交消息或任何内容都来自Repoa,只是来源更改。这不是我所期望的。这只是Xcode的Git Workflow版本,还是Git合并的工作方式?

我的最后工作流程是在BigFeaturea完成后将Repob推向Repoa。这样做和朝另一个方向朝另一个方向有区别,即:在repoa中并从repob中拉出?

(进一步的阅读表明我可能应该在Repob中创建一个" BigFeaturea"分支,然后从那里的开发分支上的Repoa进行了拉动,然后从Bigfeaturea分支合并到了开发分支。分支与回购之间合并的区别?)

否,这不是预期的行为。它之所以离开所有更改的原因是修改文件是因为它在合并上"放弃"。

我不知道在发布时与之相关的信息 ->我创建了最初不知道将.ds_store放在.gitignore文件中的存储库。我在那里已经有 *.ds_store了很长时间了,但是这样做后我可能没有正确清理。看来存储库中有"许多" .ds_store文件,然后将其放在.gitignore文件中似乎只是"从现在开始",而不是"从我之前所做的"。

因此,Xcode抱怨要修改的.ds_store文件,并且由于它不知道如何解决该类型的文件中的冲突,因此它只是放弃了。它没有处理该文件已经在repoa中删除的事实,也需要在repob中删除。其次,尽管文件列表中的.ds_store表示,但它不是主文件夹中的.ds_store,而是一个或多个.ds_store文件,在文件层次结构下方。因此,无论我通过命令行删除了GIT中的最高级别。DDS_STORE,Xcode永远都不快乐。因此,我无法告诉它正在谈论的是哪个.ds_store文件。看起来Xcode在项目中拥有相同名称的多个文件不好。

修复是跟随另一个,因此在层次结构中找到所有.ds_store,git rm rm,然后通过命令行提交所有.ds_store。然后,Xcode合并将完成,您将不会从拉动中获得修改的文件。

最新更新