**1.**版本控制简介
版本控制软件
cvs svn git
vss
团队协作开发
数据备份
历史记录
分支管理
Git
Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。
团队开发中,代码的整合
Git的特点
- 分支更快、更容易。
- 支持离线工作;本地提交可以稍后提交到服务器上。
- Git 提交都是原子的,且是整个项目范围的,而不像 CVS 中一样是对每个文件的。
- Git 中的每个工作树都包含一个具有完整项目历史的仓库。
- 没有哪一个 Git 仓库会天生比其他仓库更重要。
svn和git的区别 - GIT是分布式的,SVN不是
- GIT把内容按元数据方式存储,而SVN是按文件
- GIT分支和SVN的分支不同
- GIT没有一个全局的版本号,而SVN有
- GIT的内容完整性要优于SVN
svn:集中式的版本控制
所有的代码都是直接提交到服务器(本地局域网,远程),所有的数据备份和历史记录
都在服务器,本地没有任何相关记录,回退到历史版本必须连接到服务器
git:分布式的版本控制
缓存区:代码编辑环境
本地库:缓存区提交到本地库,本地有自己的历史记录
远程库:将本地库的代码push到远程库
局域网:gitlab
远程服务器: github(国外服务器) gitee(码云,国内服务器)
2. git安装
git客户端下载:https://gitforwindows.org/
安装教程(转载):https://blog.csdn.net/sanxd/article/details/82624127
推荐选项
选择文本编辑器,建议使用vim作为默认的文本编辑器
配置环境变量,就用第一个,不需要在Windows命令行操作,git有自己的命令行
**3.**初始化
让当前文件夹受git管理
输入命令: git init
4. 设置签名
签名由用户名+邮箱注册,使用git操作之前必须要有签名,git要知道哪个用户在操作
项目签名:
git config user.name 用户名
git config user.email 邮箱
整对当前项目的用户名,优先级高
全局签名
没有项目签名,搜索全局签名。全局签名也没有,无法操作。
git config –global user.name zs
git config –global user.email zs@163.com
**5.**查看状态
输入命令:gin status
新建文件,编写代码:在缓存区写入了数据,这个文件不受git管理
6. git add
纳入版本控制:git可以管理当前文件
输入命令:git add a.txt
7. git commit
提交到本地库
git commit a.txt
写注释
按ESC退出编辑,输入:wq保存并退出
提交的同时写注释
git commit -m “modify a.txt insert b” a.txt
8. 查看历史记录
git log
git log --pretty=oneline
git log --oneline
git reflog
9. 还原 git rest–hard 版本号
git reset --hard 版本号
10. gitee注册账号
11. 创建远程仓库
12. 将本地库第一次推送到远程
配置远程地址的本地别名
git remote add origin 远程仓库地址
推送到远程
git push origin master -f
-f是强制推送,不加会推送失败
13. git clone
其他开发人员,第一次从原仓库抓取代码就是clone,只做一次
git clone 远程仓库地址
可以在本地提交,但不能推送到远程,推送到远程,必须加入其仓库的开发团队
**14.**加入开发团队
邀请成功以后,可以push
15. pull
将远程库的最新版本拉取到本地
16. 冲突
假如一个开发者改了代码push到远程仓库,那么另一个开发者原来的本地仓库的版本与远程版本不一样就不能推送,要先从远程仓库拉取到本地。