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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步