Wednesday, August 23, 2006
Sunday, August 20, 2006
svn 命令行小册
熬夜也要把这记下来,免得又忘了。
知道后感觉简单,不知道则晕得摸不到脑袋。虽然网上有很多图片教程,但抄来抄去,都是教你怎么用乌龟svn,在linux你怎么办?这里是命令行方式,稍微强调一下而已。
首先,你要能在命令行能输入svn,否则装一个先。http://subversion.tigris.org/
其次:记得这个中文手册的镜像http://www.coollittlethings.com/subversion/。不知道为什么官方的(www.subversion.org.cn/)不能访问。
开始正题:
- 把本地项目testsvn整个目录里的内容往备份站点塞, 这是最初的结构, 建立最初的rev 0
以后checkout回来同样是按该路径,把目录下的(不包括最后的目录名)文件取回svn import testsvn svn://path/to/repos -m "最后的这个注释不能少"
- 取回项目, 路径同上. 最后取出来的新目录名不给定就会用最后路径的最后一个目录名, 这里就是repos目录
svn checkout svn:///path/to/repos A_NewProjectName
- 更新本地项目. 千万记得,通过第一步import后的那个目录并没有默认建立svn与远程的关系,需要手动从服务器checkout回服务器的版本到本地, 才算正式建立与远程的关系(什么关系? 复杂关系!). checkout回来的项目就可以时不时地执行:
svn update
- 搅和取回来的项目一番后,察看动了什么(一下命令都要在项目目录下运行)
svn status
- 你对目录结构的修改或添加删除文件等类操作不能自动commit, 需要根据svn status显示的提示将文件/目录 明确 告诉svn是add, delete, copy 还是move
svn add new_dir
svn delete new_dir - svn status仅仅显示最根本的信息,更多的改动变化通过这个获得:
svn diff
- 提交你涂污后的大作:
svn commit
svnadmin create g:/repos记得把g:/repos/conf目录下的passwd和svnserve.conf里的注释去掉, svnserve.conf里要改为
[general]passwd里要加上用户名
password-db = passwd # 这个表示我要用目录下的passwd文件当作访问密码设置
[users]之后,你就可以通过file:///g:/repos来访问.
thisis = userpwd
或者, 由svnserve -d -r g:/repos 建立本地svn协议服务器,然后通过svn://localhost/来访问
你总是可以通过svn list svn://localhost/来察看服务器该路径下的内容. 然后通过svn checkout 把路径目录下的内容(不包括最后路径目录) 取回到 "./最后路径名/"目录下.
powered by performancing firefox
powered by performancing firefox