<meta charset="utf-8">
一、版本控制
用文档记录每个模块的改动,存储、追踪、修改历史。
二、版本控制软件
- SVN 集中式版本控制系统
SVN服务器在公司(内网)
SVN服务器在外网
版本库是集中放在SVN服务器中,每次操作都要冲SVN服务器获取最新的,每次操作完之后都要上传到SVN服务器;
如果SVN服务器崩溃了,全部人都不能干活!
完整项目代码只有在SVN服务器!
- GIT 分布式版本控制系统
每个人的电脑都是一个完整的版本库!
团队操作,只需要互推代码即可!
为了方便,还是会有一个GIT服务器,服务器更多就是备份一份代码,更多是方便代码交换
就算GIT服务器崩溃,不会影响到任何人!
三、git 和github
git 分布式版本控制系统
ithub网站(给提供了git服务,开源项目免费提供git存储)
四、git安装
$ sudo apt install git
五、git使用【本地】
-版本库
就是一目录,目录中有文件专门用于记录一个删除、添加、修改等操作
-设置git
git config --global urser.email "zyz@qq.com"
gir config --global user.name "zyz"
-创建仓库(版本库)
切换到项目目录中
cd meituan/
初始化本地仓库(版本库) 创建 .git 目录
git init
-忽略清单 .gitignore
touch .gitignore
-查看仓库状态
git status
git status -s
备注:
? 没有添加到版本库中(即不会记录改动操作)
A 已添加到本地代码仓库中
D 被删除
M 被修改
I 被忽略(忽略清单中添加)
-添加版本库(本地托管)
git add hello.c 将hello.c文件添加到本地版本库(托管)
git add . 将当前中所有未托管的文件,全部添加到本地版本库中
-从版本库中删除
git rm -r --cached 删除所有托管
git rm -r --cached world.c 将world.c从托管中删除
-提交到本地仓库(版本库)
git commit -m “提交版本说明”
-查看提交日志
git log
git lo --pretty=noeline
-对比差异
git diff filename 对比当前版本和存储版本库中最新的版本进行对比
-版本回退
git reset --hard HEAD^ //回退到上一版本
git reset --hard HEAD^^ //回退到上上版本
git reset --hard HEAD~30 //回退到上30版本
git reset --hard xxxxxx //对应版本的hash值的前六位
git reset --hasd xxx... //对应版本的额hash值
//回到未来
git reflog //查看历史执行过的git操作
git reset --hard xxxxxx
- 撤销操作
// 编辑改文件
$ vi 01-test.c
a.未添加到缓存区
git checkout //查看文件状态(相当于:git status)
git checkout -- 01-test.c
b. 添加到缓存区
git add .
git reset --hard HEAD
c. 添加到版本库
git add .
git commit -m "01-test编辑"
git reset --hard HADE^
备注:HEAD指向当前版本
六、git使用【远程】
GitHub创建代码管理仓库
添加远程仓库
//添加远程仓库,仓库名叫:origin
git remote add origin git@github.com:Dargon-chen/python1807-chen.git
- 查看远程仓库
git remote -v
- 删除远程仓库
git remote rm origin
- 推送本地仓库内容到远程仓库
// master 主分支
git push -u python1807-chen master //推送本地仓库内容到远程仓库中的额master分支
- 拉取(获取)远程仓库内容到本地仓库
git pull origin master
- 克隆
// 默认仓库名称就是目录名
git clone https://github.com/Dargon-chen/python1807.com
//指定目录
git clone https://github.com/Dargon-chen/
七、HTTPS和SSH方式
- HTTPS
git remote add origin https://github.com/Dargon-chen/python1807-1.git
【每次操作都需要用户名和密码】