2011-05-28 65 views
6

我一直在使用git做iphone项目,但我注意到我有很多冲突。当使用svn时,这并没有发生,并且合并的频率也较低。在iPhone项目中使用git

Xcode需要用户手动添加文件。例如添加一个新的图像。发生这种情况时,xml会被修改。这个xml文件是git发生冲突而svn没有的文件之一。

任何与xcode项目使用git的人正在做一些事情来解决这个问题?

+2

也许是解释什么样的冲突?我知道很多使用Git的iPhone开发者没有这样的问题。 – Abizern 2011-05-28 16:08:21

+0

@Abizern:好的,我会编辑这个问题。 – Macarse 2011-05-28 16:10:33

+0

确实,xcodeproj中的多方更改确实会经常触发必须手动解决的合并冲突。 AFAIK,这只是我们必须忍受的事情,或者我们不? – Till 2011-05-28 17:00:48

回答

2

也许你对不应该版本控制的文件(例如,生成的代码或二进制文件)有冲突。如果是这种情况,您应该从存储库中删除它们并将其名称添加到.gitignore以确保它们将来不会添加。

+0

不是。 Xcode需要用户手动添加文件。例如添加一个新的图像。发生这种情况时,xml会被修改。这是冲突的一方。 – Macarse 2011-05-28 16:41:03

+2

如果你在问题中提到那将会很棒。 – 2011-05-28 16:42:31

+0

够公平的。添加。 – Macarse 2011-05-28 16:53:27

2

虽然有相似之处,但git的提交与svn的提交并不完全相同。

git有一个不同的工作流程,你可以在不同的阶段提交,合并,获取和推送。额外的阶段是特征

如果你想避免这种情况:每次你想做你知道的svn更新和提交周期时,获取,合并,解决冲突,提交和推送。这个过程将执行svn的增量修订模型 - git不使用增量修订模型(另一个git功能)。

这不是git的问题,系统使用不同的工作流程,git拥有一旦你学会摆脱svn思维方式,最终会真正喜欢的功能。

git提交是本地的,直到推送到远程。

+0

我知道git是如何工作的,我几乎每天都在使用它,但svn在处理iphone时获得的冲突比git少。只是想知道为什么或如何解决它。 – Macarse 2011-05-28 20:55:01

+0

@Macarse我没有看到每次提交时莫名其妙的冲突,但是当我学习使用git(来自svn和cvs)时,我*做了*。如果你确定你理解git:也许你的提交+推送频率已经改变,或者你的客户端有一些错误?对于大多数人来说,很可能他们并不完全理解git工作流(还)。 – justin 2011-05-28 21:24:03

+0

不幸的是我的情况。我很想知道是否有不同的合并算法,或者类似的东西。 – Macarse 2011-05-29 21:24:42