Git
1 Gilt介绍
版本控制是一种记录一个或若干文件内容变化 以便将来查阅特定版本修订情况的系统
Git不仅仅是个版本控制系统 它也是个内容管理系统(CMS) 工作管理系统等
Git是分布式的 内容按元数据方式存储 没有一个全局的版本号
2 版本库(将文件提交到版本库一般先提交到暂存区 再提交到版本库)
工作区 指定的某个目录
版本库 工作区的一个隐藏目录(.git 不属于工作区)
这个目录里的所有文件都可以被git管理
每个文件的修改 删除 Git都能追踪 目录下还有分支及指向分支的指针HEAD
暂存区 一般放于.git目录下的index文件中 所有暂存区也叫索引
3 安装及配置
#安装git yum -y install git #每一个 Git 的提交都会使用下列信息,并且它会写入到你的每一次提交中,不可更改 #设置用户 git config --global user.name "xinenhui" #设置邮箱 git config --global user.email "xxxxxx@163.com"
4 简单使用及常用命令
mkdir /git |
创建工作区 |
创建版本库 | |
git status | 查看工作区的状态(变化) |
git add file | 将文件添加到暂存区(可用*表示所有改动过的文件) |
git commit -m "message" | 将文件提交到版本库 -m后为描述信息 |
git reset HEAD file | 将已添加到暂存区的文件从暂存区删除 |
git checkout - - file | 撤销工作区所做的修改 |
git diff file | 将工作区和最近一次版本进行比较 |
git diff --cached file | 将暂存区和最近一次版本进行比较 |
git log | 查看已提交的版本 |
git log --pretty=oneline | 简洁显示版本 |
git reset --hard HEAD^ | 回退到上一版本 上二版本^^ |
git reset --hard xxxxx | 使用版本号回退 |
git tag | 查看所有标签 |
git tag v1.0 | 给最近的版本打标 |
git tag -a v0.9 -m "message" xxxx | 给之前某个版本打标 |
git checkout v0.9 | 回退到打标的某个版本 |
git show v0.9 | 查看打标信息 |
git branch | 查看当前所在分支 |
git branch test | 创建分支 |
git checkout -b test | 创建并切换到分支 |
git checkout test | 切换分支 |
git branch -d test | 删除分支(先切换到其他分支) |
cat .git/HEAD | 查看分支指针 |
cat .git/refs/heads/xxx | 查看当前版本 |
git merge file | 合并file分支到当前分支 |
git clone git@192.168.198.128:/git/pub.git /git | 克隆远程仓库 |
git remote -v | 查看关联的远程库(克隆成功后自动将本地和远程仓库关联 远程仓库默认名称为origin) |
git push origin master | 将本地master分支推送到origin |