Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 在团队项目中使用Subversion和XCode的提示_Iphone_Svn_Xcode - Fatal编程技术网

Iphone 在团队项目中使用Subversion和XCode的提示

Iphone 在团队项目中使用Subversion和XCode的提示,iphone,svn,xcode,Iphone,Svn,Xcode,我和三个不同的人一起参与了一个Xcode(iPhone)项目。我们有一个Subversion存储库上的项目,但我们仍然不完全了解Subversion+Xcode方法的某些方面: 1) 每次有人对单个文件进行提交时,它可能会出现在其他开发人员的项目中,也可能不会出现在其他开发人员的项目中。即使创建新文件的是同一个人,它也会将这些文件添加到存储库中,然后提交这些文件。为什么会这样?有什么建议吗 2) 参与项目的每个人都不能在不给其他开发人员带来相当大的麻烦的情况下完成“提交整个项目”。。。你知道该怎

我和三个不同的人一起参与了一个Xcode(iPhone)项目。我们有一个Subversion存储库上的项目,但我们仍然不完全了解Subversion+Xcode方法的某些方面:

1) 每次有人对单个文件进行提交时,它可能会出现在其他开发人员的项目中,也可能不会出现在其他开发人员的项目中。即使创建新文件的是同一个人,它也会将这些文件添加到存储库中,然后提交这些文件。为什么会这样?有什么建议吗

2) 参与项目的每个人都不能在不给其他开发人员带来相当大的麻烦的情况下完成“提交整个项目”。。。你知道该怎么做吗

我们试图实现的工作方法是,只有一个开发人员(通常是项目负责人)可以提交整个项目,但他必须通知团队的其他成员,这样每个人都可以随时收到一条消息,要求他放弃更改并从存储库中读取新文件

我需要关于如何使用subversion处理多个开发人员的项目的建议。 我们已经阅读了Subversion手册,以及关于StackOverflow的许多其他信息,但我仍然找不到任何有用的建议


谢谢你给我小费

其他人看不到更改的原因是,他们在尝试对存储库执行“更新”、“提交”或“差异”之前不会得到通知。SVN是一个“拉式”系统,没有客户的命令,存储库不会通知客户任何事情

沟通是关键。如果您的开发人员通常知道项目中正在发生的事情,或者至少知道项目中的某个角落(如果是大型项目),那么他们将最大限度地降低提交会打乱项目的代码的风险

坚持只允许一个开发人员提交到存储库是过分的,这与使用版本控制的整个想法完全相反。您也可以只拥有一个文件夹,只有开发人员每次都可以使用diffing工具写入该文件夹


确保你的员工在“提交”之前完成“更新”、编译和测试周期。这样他们就不太可能提交破坏构建的代码。如果他们稍微小心一点,你们就会很快掌握窍门,真的没什么好担心的。祝你好运。

你说的是“我们试图实现的工作方法是只有一个开发人员(通常是项目的领导者)可以提交整个项目,但他必须通知团队的其他成员,这样每个人都可以准备好接收一条消息,要求他放弃更改并从存储库中读取新文件?其他开发人员是否不能签入代码,或者签入代码不够好?很抱歉用激烈的方式说:那是胡说八道。每个开发人员都应该能够提交。如果您希望将开发人员彼此分离,那么应该为此使用分支。如前所述,沟通由svn update/svn status-u等完成。

我的意思不是讽刺,但如果您转到git(或者可能是mercurial,我没有用过),您可能会节省很多时间和麻烦。它不会与Xcode集成,但这并不是什么大问题(只需打开一个终端窗口)。我想你会发现,它很容易启动和运行(从MacPorts安装)并完成基本功能(有很多相关教程)。而且,它是有效的。老实说,听起来你们对颠覆是如何运作的并没有一个坚定的把握。我只能建议您阅读更多文档或观看解释性视频,这样您就可以了解提交和更新是如何工作的。谢谢micmcg。关于从哪里开始有什么建议吗?我一直在寻找阅读材料,但到目前为止还没有人给我答案…你可能还想设置一个post-commit钩子,让每个人都知道已经做了更改,他们是什么人。如果您需要更长的时间才能使某个功能正常工作,从而破坏构建或其他开发人员认为重要的功能,那么分支也很重要。感谢Amir的回复。我想我的问题还不清楚。例如:今天我创建了两个新文件(example.h和example.m),并将这些文件包含在存储库中(在Xcode中添加到存储库),然后提交了这两个文件。现在,第二个开发人员刚刚开始处理该项目,即使他更新了该项目,他也看不到这两个文件。他不是应该去看他们吗?是的,听起来一点也不对劲。尝试将项目签出到一个空文件夹中,并查看您的文件是否存在。我自己很少使用XCode集成,所以不知道它是否脆弱,但在我的工作经验中,SVN是相当可靠的——它总是人为错误!;)尝试完全结帐,如果这看起来仍然不正确,我们几乎毫无怨言地使用了它:khmarbaise,谢谢你的回复。我欣赏你的激烈。。。他。在我们的项目中,每个开发人员都可以进行提交。但我仍然不明白Xcode中发生了什么,因为这可能会导致本地文件丢失。似乎Xcode不会将特定文件识别为项目的文件,除非您提交整个项目,或者提交Xcode项目文件(位于组和文件结构顶部的文件),这使Subversion的使用变得复杂。。。