目录
Git是什么?
Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。官网地址为:https://git-scm.com/
Git历史
同生活中的许多伟大事件一样,Git 诞生于一个极富纷争大举创新的年代。Linux 内核开源项目有着为数众广的参与者。绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。到 2002 年,Linux系统已经发展了十年了,代码库之大让Linus很难继续通过手工方式管理了,于是整个项目组开始启用分布式版本控制系统 BitKeeper 来管理和维护代码。
到 2005 年的时候,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了免费使用 BitKeeper 的权力。这就迫使 Linux 开源社区(特别是 Linux的缔造者 Linus Torvalds )不得不吸取教训,只有开发一套属于自己的版本控制系统才不至于重蹈覆辙。他们对新的系统订了若干目标:
• 速度
• 简单的设计
• 对非线性开发模式的强力支持(允许上千个并行开发的分支)
• 完全分布式
• 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)
Git优点
优点:
- 适合分布式开发,强调个体;
- 公共服务器压力和数据量都不会太大;
- 速度快、灵活;
- 任意两个开发者之间可以很容易的解决冲突;
- 离线工作。
缺点:
- 代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息;
- 权限控制不友好;如果需要对开发者限制各种权限的建议使用SVN。
2、基本使用
linux安装
sudo apt-get install git
window安装
使用
//0. 设置签名git config -- global user . email "xxx@example.com"git config -- global user . name "xxx"//1. 在你的代码目录下,创建本地仓库( .git )git init//2. 选择出要记录日志的文件( ‘.’ 代表当前文件),并放入缓存区git add .//3. 确认提交(第一次提交需要设置 name+email ) , 打上日志git commit - m " 本次提交注释 "//4. 查看日志(可以看到提交的日志记录, 可以方便回滚)git reflog//5. 回滚git reset -- hard < 某次 commit 的 hash 码, git reflog >
3. 对接云端多人协作
- gitlab: 可部署在局域网中的git托管服务器,代码敏感?
- github: 官方的git托管服务器,国外的!!!
- gitee: 开源中国的git托管云(码云)
推送本地仓库到云端
git push https://gitee.com/zhurich/testgit.git master:master
新建一个开发分支(为了保证云端有两条分支一条开发 分支, 一条稳定版本分支)
管理员
git push https://gitee.com/zhurich/testgit.git master:dev #本地主线推送到云的 dev
普通开发者
2. 克隆到本地(同步服务器的代码)
git clone https://gitee.com/zhurich/testgit.git master
3. 修改并推送
git add .git commit - m "xxxxxxxxxxx"git push https : //gitee.com/zhurich/testgit.git dev
主线合并(某个稳定版需要记录了)