git与svn的使用比较

先说下基础知识:

git是本地会(维护)有个版本仓库。

svn本地也会维护一个自己的信息(一般是目录结构和文件状态的信息),这里的文件状态一般是指:文件是已删除,还是已添加,还是被修改等等。一般是会有一个隐藏的.svn目录来保存这些信息的。

 

比如需要删除一个目录或者文件的时候

svn需要这样做:

svn rm --force [dir/file]

然后再svn commit,远程的版本库的对应文件或者目录才会被删除

 

如果是以下这样的话,就会出错:

 rm -rf [dir/file]

然后再svn commit,会出错,因为隐藏的针对要删除的目录信息和文件状态记录没有被删除,然后commit的时候svn还是会认为要把已经删除了的目录或文件还要提交,然后本地又找不到真正的文件或目录,就发生错误了

 

git需要这样做:

git rm [dir/file]

git commit    本地版本库的对应应文件或者目录被删除

git push ,远程的版本库的对应文件或者目录才会被删除,因为远程版本库是与本地版本库同步的

 

比如需要创建一个目录或者文件的时候:

svn需要这样做:

svn mkdir [dir]

svn commit 远程的版本库的对应目录才会被创建

 

git 需要这样做:

mkdir [dir]

git add .

git commit

git push

 

posted @ 2014-10-15 12:10  foo__hack  阅读(221)  评论(0编辑  收藏  举报