- Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
- Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
- Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
Git 与 SVN 区别
Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。如果你是一个具有使用 SVN 背景的人,你需要做一定的思想转换,来适应 Git 提供的一些概念和特征。
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 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
-
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
1.使用yum命令下载Git。
[root@VM_0_16_centos home]# yum install git
这里会看到控制台输出一些信息,如果有遇到询问是否Is This ok?之类的提示输入y即可。
2.输入git命令验证是否下载成功
[root@VM_0_16_centos home]# git version
git version 1.8.3.1
二、Git初始化设置,并安装授权证书
1.设置Git全局用户名和邮箱配置
[root@VM_0_16_centos home]# git config --global user.name "huhansan"
[root@VM_0_16_centos home]# git config --global user.email "huhansan@qq.com"
这里的用户名和用户名邮箱不必要设置真实数据,只要填写了就可以了。
2.生成Git授权证书
1.生成授权证书
[root@VM_0_16_centos home]# ssh-keygen -t rsa -C "huhansan@qq.com"
这生成授权证书会询问你是否设置密码,和确认密码。如果无需设置直接回车即可。
看到这个界面我们的证书就生成成功了。
2.查看证书目录
[root@VM_0_16_centos ~]# cd ~/.ssh
[root@VM_0_16_centos .ssh]# ls -l
总用量 12
-rw------- 1 root root 0 4月 4 22:13 authorized_keys
-rw------- 1 root root 1679 5月 7 14:34 id_rsa
-rw-r--r-- 1 root root 397 5月 7 14:34 id_rsa.pub
-rw-r--r-- 1 root root 185 5月 7 14:38 known_hosts
id_rsa 是证书私钥
id_rsa.pub 是证书公钥
3.查看证书公钥内容
[root@VM_0_16_centos .ssh]# cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC76D2ri/6vrRxe6VYwddhkpDBLTiCxPIGXV62hv+my/YD8aTetSWKgPVjs307b8WQoy4ovS+glgHwR1JcmLymLzibhRm9zOREfPphxiZ3fMOG8yeDq8OzYljjayphK49LE8KRDTkNLvYkgH6MNGv1vxpHiz4Pe8Qif0GLEaChrWSkaBEXPayT3VMvDKbzgZeXl2uugry0k95EDMUL7ffn6PwFi75tmYXu25m5o2MOq2aQ0oHD3zjCzEA5sHOc071HDuRYzYhNVRZey1bnwSe4t1udIYXBk4AqYmBDAl5D/mMfPVBB2BdlYUuoTFXpRSp/jv0aLw99WdAgKiLYWj8g9 gzq2333@163.com
我们为什么要生成授权证书?因为可以避免在每次提交和拉取的时候输入账号密码。这里需要把证书公钥配置到Git服务端的SSH里面去。例如Github,Gitlab,Gitee等。
来源:oschina
链接:https://my.oschina.net/piaoxianren/blog/4269453