如何在MAC环境下使用svn以及新手在团队中使用svn的注意事项。
2.SVN checkout到达本地后删除本地文件对服务器有影响吗?
不会影响服务器,当你执行“svn更新”时,zai会自动重新下载;删除后执行“svn commit”也会将其从服务器上删除。
3.连接到服务器
单击文件-存储库-单击座位侧面的“+”,然后单击名称、svn服务器的地址和类型,选择subversion,然后单击next,依此类推。
4、Xcode4,SVN常用命令
提交提交
Checkout将服务器下载到本地计算机(我正在使用它)。
更新更新文件
文件-& gt;source controller->;更新
图中第三个按钮是视图对比度按钮。
5.详细说明在SVN的用法和注意事项
(1)提交自己的代码。
SVN更新的原则是及时更新和提交。一个小功能完成后,可以自己编译测试,尽早提交,这样也保存了版本历史,必要时可以回滚;在开始一天的工作之前,最后更新一下项目。
(2)保持原子提交(不要无意中修改提交别人的文档)
只提交自己修改的部分,最好不要一次性提交整个项目;
当一个函数或文件完成后,最好提交它。我在完成一个函数后遇到了代码中的bug,但是我没有提交,然后我做了修改。结果,我无法返回正常代码。
③不要提交自动生成的文件。
VisualStudio和其他开发工具会在生成过程中产生许多自动文件,比如像。suo,debug、release、obj等编译文件,以及其他自动生成的与编译代码无关的文件。这些文件提交的时候不应该签入,如果不小心签入了需要从仓库里删除。
④不要提交无法编译的代码。
在提交代码之前,您必须首先确保可以在本地编译它。当代码在提交前通过了自己的测试时,最好提交SVN的更新。
SVN常用命令的详细说明
1.将文件签出到本地目录。
Svn签出路径(路径是服务器上的目录)
比如:SVN结账SVN://192.168.1.1/pro/domain。
2.向版本库中添加新文件。
svn添加文件
例如:svnadttest.php(加上test.php)
3.删除文件
svn删除路径-m“删除测试文件”
比如:SVN删除SVN://192.168.1.1/pro/domain/test . PHP-m“删除测试文件”。
4.检查日志
svn日志路径
5.比较差异
Svn差异路径(将修改后的文件与基本版本进行比较)
6.将两个版本之间的差异合并到当前文件中。
svn合并-r m:n路径
SVN用法
更新,经常更新没有坏处,尤其是多人项目。如果在每次提交之前没有更新最新版本,svn将提示当前副本已经过期,需要更新。
Commit,一定要把这次提交的内容写个总结,以备将来参考。
将文件签出到本地目录。
Svn签出路径(路径是服务器上的目录)
svn update命令会自动用服务器上的版本替换本地版本控制的文件。
6.在Xcode中使用SVN并提交来解决冲突。
Xcode的SVN功能比Eclipse的subclipse或者windows的tortoiseSVN差太多了。
我根本不需要,用命令行就行。我觉得有朋友用subclipse,其实挺好的。然而,为了使用SVN函数,需要单独打开一个消耗资源的Eclipse。
但是无论你用什么SVN工具,都会遇到Xcode固有的问题,就是文件的提交冲突。
project.pbxproj文件包含构造过程所需的所有文件。如果在项目目录中添加新文件,比如不传递Xcode,那么该文件就不会在project.pbxproj文件中,也不会生成到app中。同样,如果您更新了来自SVN的其他项目成员添加的文件,而没有更新project.pbxproj文件(或者该成员根本没有提交此文件),也会出现同样的现象。
如果一个项目成员提交了一个新的project.pbxproj文件,你不需要在这里给项目添加新的文件,直接svn更新就可以了。
7.在Xcode中更新代码后,项目文件无法打开。
如果选择更新整个项目,尤其是project.pbxproj文件,通常会发生冲突。该文件包含构建过程所需的所有文件。如果一个新文件被添加到项目目录中但是没有通过Xcode,
该文件不在project.pbxproj文件中,因此不会生成到应用程序中。同样,如果您从SVN更新到由其他项目成员添加的文件,
如果不更新project.pbxproj文件(或者成员根本没有提交这个文件),也会出现同样的现象。这种文件冲突将直接导致无法打开项目文件。
更新代码后无法打开项目文件解决方法:
当tobacco.xcodeproj等项目文件无法打开时,可以右键选择'显示包内容',会看到三个文件,project.pbxproj/user.modelv3/user.pbxuser.
其中project.pbxproj有三个版本,可以像普通svn文件冲突一样解决冲突。
8.SVN更新提交和合并之间的差异
当本地文件不变而服务器文件改变时,更新将从服务器获取文件并覆盖当前文件。
当本地文件更改而服务器文件未更改时,此文件将不会更新。
当本地文件发生变化而服务器文件发生变化时,如果变化的部分不冲突,文件将合并到本地。如果有冲突,会提示文件有冲突,需要手动修改上传到服务器。
最后一个解释了合并:
服务器和本地的同一个文件(所谓同一个文件应该是SVN相对路径相同,文件名相同的文件,这是由SVN在本地留下的信息决定的)被修改过,修改的部分不重叠也不重合。
当满足上述条件时,SVN将自动合并。
SVN的秘密是,别人提交了修改后的文件,如果你再提交你的,他不会允许你提交。。。
& gt& gt& gt& gt
& lt& lt& lt
它标有冲突区域。为什么删除冲突区域后无法提交?
溶液1:
如果删除,冲突将无法解决。会有几个文件名相同但文件后面后缀不同的文件。
如果你不知道如何使用SVN来解决冲突,最简单的方法是这样的。
更改这个文件的名称,然后在文件所在的目录下更新,这样服务器文件就会被下载,然后修改的部分就会添加到更新的文件中,这样就可以提交了。
解决方案2:
右击文件,进入SVN菜单。应该有一个编辑冲突的按钮。如果您选择它,将出现一个窗口,一边是服务器版本,另一边是您自己修改的版本。
9.使用xcode自己的svn
1.代码中的一个文件标有“m”,表示该文件已经被修改,需要提交。
(右键单击文件-& gt;源代码管理->;提交选定的文件...)
2.代码中的文件后有一个“A”标记,表示该文件是新添加的,由SVN管理,需要提交。
(右键单击文件-& gt;源代码管理->;提交选定的文件...)
3.代码中的一个文件后跟“?”标记,表示该文件是新添加的,不在SVN管理范围内。首先,您需要添加,然后提交。
(右键单击文件-& gt;源代码管理->;添加,使文件的标记变为“a”,然后提交)。