Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,不必服务器端软件支持。
SVN 是一个开源的版本控制系统, 也就是说 SVN 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库(repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。
Git 与 SVN 区别点
-
1、Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。
-
2、Git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。
-
3、Git 分支和 SVN 的分支不同:分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。
-
4、Git 没有一个全局的版本号,而 SVN 有:目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。
-
5、Git 的内容完整性要优于 SVN:Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
Git 常用命令
直接拉取指定分支代码
git clone [git网址] -b [分支名]
如:git clone http://xxx/xxx/xxx.git -b dev-xxxx
回退提交版本
git reset --hard [提交的版本号]
如:git reset --hard bbae2d89269710a38dcaf61538a72282ae5d5abc
更新远程新建分支操作
git remote
git remote update origin --prune
查看分支
git branch -a
切换分支
git checkout origin/切换分支名称
如: git checkout origin/dev-xxxx
合并分支代码
git merge origin/分支名称
如: git merge origin/dev-xxxx
拉取分支的指定文件
git checkout origin/分支名称 指定文件路径
如:git checkout origin/dev-xxxx ../view-web/**