一、两种版本控制工具
1.集中式版本控制工具——SVN、CVS
好:每个人都可以在一定程度上看到项目中的其他人正在做些什么。而管理员也可以轻松掌控每个开发者的权限,并且管理一个集中化的版本控制系统,要远比在各个客户端上维护本地数据库来得轻松容易。
坏:中央服务器的单点故障,如果服务器宕机,那么谁都无法更新,也就无法协同工作
2.分布式版本控制工具——Git、Mercurial、Bazaar、Darcs
客户端提取的不是最新版本的文件快照,而是把代码仓库完整地镜像下来(本地库)。故障后可以用其他客户端的本地仓库恢复。每个客户端的每一次文件提取操作实际上都是一次对整个文件仓库的完整备份
解决了集中式版本控制系统的缺陷:服务器断网的情况下也可以进行开发;每个客户端保存的也都是整个完整的项目。
linus(林纳斯·本纳第克特·托瓦兹)牛逼
二、Git概述
1.工作机制
工作区(写代码)——暂存区(临时存储)——本地库(历史版本)
2.Git和代码托管中心(远程库)
局域网——GitLab
互联网——GitHub(外网)、Gitee码云(国内)
3.安装
三、Git命令
1.首次安装要设置用户签名和用户邮箱(不会验证,可虚假),否则无法提交代码
C:\Users\(用户)——.gitconfig 查看设置的用户签名和邮箱
2.暂存区删除
git rm --cached 文件名
超过100M文件异常:git rm -r --cached 文件名
3.删除暂存区和工作区的文件
git rm --f 文件名
4.查看谁提交的——git log(版本详细信息)
四、Git分支
1.分支操作
2.合并冲突——当两个分支的同一文件都有修改后会出现,需要认为决定新代码内容
(1)编辑有冲突的文件,删除特殊符号,决定要使用的内容
特殊符号:<<<<<<<HEAD 当前分支的代码 ======= 合并过来的代码>>>>hot-fix
(2)添加到暂存区
(3)执行提交(此时使用git commit 命令时不能带文件名)
五、Git团队协作
1.团队协作机制
(1)团队内协作
(2)跨团队协作