GIT和svn的区别:
1.git是分布式版本控制系统。 svn是集中式版本控制
SVN只能有一个指定中央版本库。当这个中央版本库有问题时,所有工作成员都一起瘫痪直到版本库维修完毕或者新的版本库设立完成。
使用GIT做版本控制时,每一个开发人员的电脑上都有一个Local Repository,所以即使没有网络也一样可以Commit,查看历史版本记录,创建项 目分支等操作,等网络再次连接上Push到Server端。
2.git的版本号使用的SHA-1加密。(SHA-1和MD5一样,是一种不可逆的加密方式。) 而svn的版本号直接是数字
3.git创建分支是指针的改变。 svn的分支是物理上的拷贝。所以svn创建分支会占用大量空间。
GIT的四个区
工作空间: 工作空间就是我们的整个项目文件夹。它包括缓冲区的所有文件。比如我们在开源项目时,为了防止风险。会选择把项目的配置文件等一些重要文件不加入到缓冲区。以及我们使用idea等开发工具时,会自动生成一些无用文件。这些都是不需要加入到缓存区的。
暂存区: 提交代码、解决冲突的中转站,使用git add [files]命令可把工作空间的文件加入到缓存区;使用git checkout命令检出缓存区。怎么区分文件是否在缓存区?1.通过git GUI或git shell 窗口显示。2.大多数开发工具会用颜色区别,比如idea中:红色表示未加入缓存区;绿色表示新加入文件到缓存区;蓝色表示修改了缓存区中的文件。
本地仓库: 只能在git shell 窗口显示,连接本地代码跟远程代码的枢纽,不能联网时本地代码可先提交(git commit)至该处,
远程仓库: 即保存我们代码的服务器,使用git push命令可以把本地仓库的代码提交到远程仓库。切记先拉在推,也就是先git pull 再 git push。不然可能会覆盖同事提交的代码