摘要
Git 是一种分布式版本控制系统。在开发过程中,为了跟踪代码、文档、项目中的信息变化,版本控制变得前所未有的重要。
相比集中式版本控制系统如 SVN ,分布式版本控制系统 Git 拥有更强大的分支管理与合并能力,支持离线开发,并良好地保留了提交过程,让您和您的团队在开发过程中如虎添翼。 云计算时代 Git 以其强大的分支和克隆功能,更加方便了开发者远程协作。
Git 代码托管主要功能
- 分支合并 ( Merge Request/Pull Request )
- 保护分支
- 代码阅读 pre Insight
- Line Notes
- WebHook
Git 分支介绍
分支一方面类似科幻电影里面经常出现的平行宇宙,每个分支的代码版本都是独立演进的,分支之间的代码版本完全不会干扰另外一个代码版本的开发。但是,与平行宇宙不同的一点是,分支之间还能合并。
Git 的分支相比 SVN 要轻量很多,这是因为 Git 分支并不是复制一个新仓库,而是为一个分支存储一个指针,这个指针将指向某个提交对象。没错,这就和数据结构中常见的指针链表一样。所以 Git 的分支只是指针,并没有将仓库进行复制,每次提交都会让当前的分支向后移动,指向最后一次提交的对象。当你在切换分支时,Git 也只是改变指向当前所在分支的特殊指针 HEAD,所以可以快速地在各个分支之间进行切换。
分支的功能
分支在实际中可以方便的隔离开发。 假设你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。
centos6.x安装
yum -y install git
常见问题
问题
fatal: unable to access ‘https://github.com/owner888/phpspider.git/’: gnutls_handshake() failed: The TLS connection was non-properly terminated.
原因
ubuntu 预设的 SSL 是使用 GnuTLS 而 GnuTLS 在处理某些网站的时候会出现错误
解决
重新编译git 或者将 git clone https://xxx 换成 git clone http://xxx