0

我开始在一个大型项目中与五个新程序员一起工作。我正在寻找在所有成员之间共享源代码的最佳方式。每个人都在修改不同的部分,但所有部分都是相关的。我正在寻找一个平台或方式,当我更改代码的任何部分时,他们可以在线或尽快看到它。

目前,我们彼此发生冲突。例如,我处理了源代码的部分内容,当我完成工作后,我回到了我们的 subversion 存储库,这是用于上传新版本的谷歌代码。然后我意识到其他人已经编辑了代码!在这种情况下我能做什么?

我们正在使用netbeans,每个人都在远离彼此的地方工作,所以我们不能面对面开会。

4

2 回答 2

5

你写了关于你的 subversion 存储库:嗯,这很好,因为版本控制软件正是你所需要的。

当人们处理代码的相同部分时,可能会出现冲突,但通常这种情况不会经常发生。如果是这样,您应该与您的团队成员交谈并制定政策以更频繁地更新他们的本地工作副本。另一个想法是设置 subversion 以在有人提交更改时发送电子邮件通知。

当出现冲突时,更新其本地工作副本的人必须解决冲突。解析并不意味着覆盖其他人的工作,而是调整本地更改,以便它们与其他人已经提交到存储库的代码一起工作。

于 2013-05-02T14:00:50.167 回答
1

如果很多人都在处理同一个类,Subversion 在合并方面做得很差,结果冲突发生得太频繁了。当确实发生冲突时,唯一的解决方案是解决它们 - 大多数 IDE 都有解决此问题的工具,Tortoise也是如此。

作为一个团队,您可以做一些事情来最大程度地减少冲突:

  • 更改最少代码量(避免格式更改)
  • 签入小改动
  • 经常入住
  • 经常同步

这确实意味着您必须小心您的更改,因此就像开发中的所有内容一样,需要权衡取舍。

另一种方法是切换到Git分布式版本控制。DVCS 基于合并的需要,因此做得更好。

于 2013-05-02T14:10:15.037 回答