星期二, 十二月 29

试用git、git-svn

以前没用过版本控制系统,感觉写小东西没太大必要,又很麻烦。前几天参与了网友的一个小项目,托管在googlecode上,用的svn。开始有点 头痛,上网查了查也不是很麻烦。感觉还是比较好用的。但有些地方感觉不太好。对服务器依赖太大了,基本所有操作都要联机,要不是要架本地服务器,想想也不 是很方便。
找东西时又发现git,这个以前也接触过,有一次一个同学让我下一个程序的源码,就是git管理的,当时为了下源码还费了点劲,下完后相关软件也卸载了。
看了下,git果然不错,最吸引我的就是可以完全脱离服务器,在版本回溯、分支等方面也强大,更重要的是,git-svn可以很好地整合svn和git,毕竟googlecode还不支持git。
用了一晚上才基本清晰了。用git-svn果然比svn方便,虽然操作细节上更复杂。
概括一下,就是用 git-svn 先把全部内容下载到本地,然后用git命令进行处理,想commit 时再用 git-svn。也就是 git-svn 只负责和服务器交互,而本地用的就是git。但是有些地方还会有问题,例如分支,不过问题也不应该太大,至少现在。
拿 http://code.google.com/p/ly50247 举个例子
svn checkout https://ly50247.googlecode.com/svn/trunk/ ly50247 --username ly50247 --password ***
换成 git-svn 就是:
git svn clone https://ly50247.googlecode.com/svn/trunk/ ly50247 --username ly50247
但是没有 --password 选项,口令只能在提示下输入。
这会在建立ly50247目录,里边有一个.git目录,其余的就是源码了。
几个简单的命令:
git add #添加文件
git commit -m "提交注释" #提交
git commit -a -m "注释" #相当于 git add . && git commit -m "注释"
git svn dcommit #提交到svn
……
记不住现查也没问题……
还有一个比较重要的是在本地直接创建,更简单了:
git init
现在就可以管理代码了。
网上查时如果有命令直接写 git-svn,那应该是旧版本的,应该把git svn用空格分开,有的命令还有变动。
http://www.robinlu.com/blog/archives/194
http://dev.lemote.com/drupal/book/export/html/21
http://www.uml.org.cn/pzgl/200912118.asp
http://www.bitsun.com/documents/gittutorcn.htm

没有评论:

发表评论