git-版本控制
一、git环境
git:是一种分布式的版本控制工具
集中式:SVN,所有的版本代码都只是存放到服务器上
分布式:GIT,每一个开发者都有所有的版本和日志,如果服务器坏了,其中一个开发者同步即可。
安装
windows环境:https://git-for-windows.github.io/,下载后一路双击即可
Linux环境:
##ubuantu:sudo apt-get install git
##centos:yum install git
配置
git config --global user.name lucy #你是谁
git config --global user.email lucy@xx.com #你的邮件
二、本地仓库
cd /data/lawfile #指定仓库地址,不要在中文目录下
git init #初始化
添加
vi index.txt #创建一个文件
vi read.txt
git status #查看状态,是否有需要提交的代码
git add . #将当前目录添加到git缓冲区
git commit -m "这是第一次提交" #提交到git仓库
修改
vi index.txt #修改文件
git status
git add index.txt
git commit -m "modify"
删除
git rm read.txt #删除文件
git status
git commit -m "delete"
三、远程仓库
团队开发,需要把版本仓库放到互联网上
开发者,把自己的最新版本上传到线上仓库,同时也把线上最新代码下载到本地
git remote add <别名> <远程仓库地址> #远程仓库别名
git remote rename <旧名称> <新名称> #修改别名
git remote remove <别名> #删除别名
git remote #查看远程仓库
git remote -v #查看仓库地址
公钥、私钥
将公钥放在服务器上,这样就可以免密上传、下载远程仓库中的代码了
注意:不能用http开头的地址,作为免密
1. 注册git线上仓库账号
国外:http://www.github.com
国内:http://git.oschina.net
2. 线上创建一个仓库
3. 将本地项目上传到线上
cd /data/lawfile
git push https://git*****.git master #将本地项目上传到线上仓库中
4. 为远程仓库地址添加一个别名:origin
git remote add origin https://git******.git
git push origin master #这样就可以使用别名来上传项目版本了
5. 克隆远程仓库中的代码
git clone https://git******.git
git add .
git commit -m "添加新的内容"
git push https://git******.git master
6. 更新代码
git pull origin master
四、区域、版本、分支
工作区、版本区
1. 工作区:开发者的工作目录
2. 暂存区:修改已被记录,但尚未录入版本库区域
3. 版本库:存储变化日志及版本信息
查看日志
git log 查看项目日志
git log <file> 查看某个文件的日志
git log . 查看当前目录的日志
git log --gretty-oneline 日志以一行显示
版本切换
git reflog
git reset --hard HEAD^ 切换到第1个版本
git reset --hard HEAD^^ 切换到第2个版本
git reset --hard HEAD~100 切换到100个版本
git reset --hard 2534d 指定版本
分支管理
git branch 查看分支
git branch dev 创建dev分支
git checkout dev 切换到dev分支
合并分支
git checkout master 先切到主分支
git merge dev 在主分支上合并dev分支
删除分支
git branch -d dev