svn学习笔记

推荐的版本库布局

尽管Subversion的灵活性允许你自由布局版本库,但我们有一套推荐的方式,创建一个trunk目录来保存开发的“主线”,一个branches目录存放分支拷贝,tags目录保存标签拷贝,例如:

$ svn list file:///usr/local/svn/repos

/trunk

/branches

/tags

因为你的工作拷贝“同你系统上的文件和目录没有任何区别”,你可以随意修改文件,但是你必须告诉Subversion你做的其他任何事。例如,你希望拷贝或移动工作拷贝的一个文件,你应该使用svn copy或者 svn move而不要使用操作系统的拷贝移动命令

.svn目录包含什么?

工作拷贝中的任何一个目录包括一个名为.svn管理区域,通常列表操作不显示这个目录,但它仍然是一个非常重要的目录,无论你做什么?不要删除或是更改这个管理区域的任何东西,Subversion使用它来管理工作拷贝。如果你不小心删除了子目录.svn,最简单的解决办法是删除包含的目录(普通的文件系统删除,而不是svn delete),然后在父目录运行svn update,Subversion客户端会重新下载你删除的目录,并包含新的.svn。

禁用密码缓存

当你执行的Subversion命令需要认证时,缺省情况下Subversion会在磁盘缓存认证信息,这样做出于便利,在接下来的操作中你就可以不必输入密码,但如果你很在乎密码缓存,[3]你可以永久关闭缓存或每次执行命令时说明。在某次命令关闭密码缓存可以在命令中使用--no-auth-cache选项,如果希望永久关闭缓存,可以在本机的Subversion配置文件中添加store-passwords = no这一行。

用其它身份认证

因为Subversion认证缓存是缺省设置(包含用户名和密码),用来记住上一次修改工作拷贝的人非常方便。但是有时候会不好用—特别是如果你使用的是共享工作拷贝,在这种情况下,你只需要为命令行传递--username选项,Subversion就会尝试使用该用户认证,如果需要也提示你输入密码。

典型的工作周期是这样的:

更新你的工作拷贝

svn update

做出修改

svn add

svn delete

svn copy

svn move

检验修改

svn status

svn diff

可能会取消一些修改

svn revert

解决冲突(合并别人的修改)

svn update

svn resolved

提交你的修改

svn commit

http://www.cnblogs.com/cxd4321/archive/2012/07/12/2588110.html

http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380146d96864968d4e414c42246051c3ab2ec7b641301d0c67d7a52ef0f07bbae616f615466e4c096c957d9bb962f298826203541c6171d824af3971b63d620e11abef445a1eda572c0e885c4df25089615586d8081d84d00658f32b04d6abff38e48640e4df8a627658e1f2d7ad93440c71daaa1256e76dfab8c0f12d42aa13e4cc1f461eb6f41f348f9435a&p=9d6cc853ba8112a05abd9b7d0c1c81&newp=9e71d20f8d904ead1cbd9b7d0c1cbb231610db2151d3d5153b&user=baidu&fm=sc&query=Cannot+reintegrate+into+a+working+copy+that+has+local+modifications&qid=&p1=3

相关推荐