git集中式版本控制系统
在linux上安装git
$ sudo apt-get install git
安装完设置
$ git config --global user.name "you name"
$ git config --global user.email "you email"
创建版本库(在需要设为版本库的地址目录下执行下面命令)
$ git init
添加文件到库
$ git add <file>
$ git commit -m <说明>
删除文件
$ git rm <file>
$ git commit -m <说明>
恢复版本库中文件(删除了的或者修改后的文件都可以还原)
$ git
checkout -- <filename>
常用的命令
$ git status //掌握仓库当前的状态
$ git diff //查看修改内容
$ git log //显示从近到远的提交日志
$ git reset HEAD^ //版本回退上个版本
$ git show //查看具体修改
$ git reflog //查看命令历史
$ git branch -l //查看本地分支
$ git branch -r //查看远程分支
$ git branch -a //查看全部分支(远程的和本地的)
$ git revert //回退某一次提交(不同于reset)
$ git commit --amend // 修改最近一次提交记录注释
合并其他分支提交到本分支:
$
git cherry-pick [其他分支的commit id]
查看完整分支结构:
$ git log --graph --decorate --oneline --simplify-by-decoration --all
$ repo forall -c git status 检查所有git仓库状态
$ repo forall -c git add .
$ repo forall -c git commit -m "tets"
$ repo forall -c git tag tag_name
删除本地标签
$ git tag -d 1.0.0
删除远程标签:
$ git push origin :refs/tags/标签名
生成最近一次commit的patch:
$ git format-patch HEAD^ #生成最近的1次commit的patch
本地提交后,上传至GitHub网站的网络库(前提是网络库已经建好,并且已经关联了本地库)
$ git push origin master
克隆GitHub网站的网络库(前提是网络库已经建好,并且已经关联了本地库)
$ git clone git@github.com:michaelliao/gitskills.git
(这里要换成自己的库地址)
推送到公司服务地址
$ git push origin(本地仓库名eg:rk) HEAD:远程分支地址
※
推送到公司
gerrit服务器
$ git push release HEAD:refs/for/分支地址 (eg:git push release HEAD:refs/for/nova_release)
删除本地tag
$ git tag -d V1_1_0_20190524
创建本地tag
$ git tag V1_1_0_20190524
删除远程分支关联tag
$ git push rk :refs/tags/V1_1_0_20190524
上传本地tag
$ git push rk --tags