基本流程
git clone addr 复制到本地 git branch xx 创建分支XX git branch -b XX 创建并进入分支XX [-a列出所有 -d删除分支] git branch -rd origin/xxx 删除本地分支的远程关联,是关联哦亲 git branch remote XX查看远程分支XX git checkout xx 进入分支XX git pull 更新并合并分支 git merge --no-ff 强制生成合并记录
恢复数据
git reset <filepath> 恢复已添加但未提交的数据 git checkout hash值 恢复数据到某个版本,之后的版本仍存在可以重新访问
git rebase hash值 恢复数据到某个版本,但是该回溯会造成之后的版本都无法恢复无法继续访问 git checkout -- <filename> 撤销当前修改,如果没有添加到暂存区,内容回退到版本库状态, 如果已经添加到暂存区又进行了额修改,内容回到添加到暂存区的状态。
git push origin :<目录> 删除远程目录
放弃本次修改,强制更新
git fetch --all git reset --hard origin/master
提交
git diff //查看修改内容,可选 git add. //添加全部修改 git commit -am "" //提交
发布
git tag publish/1.1.1 git push origin publish/1.1.1
查看日志
git log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short
.gitignore文件
可以写入忽略文件的上传
----------------------------------------------------------------------------------
gitlab约定:
master 最新线上
dev 最新稳定
feature-* 新任务
release-* 准备发布 —— daily/x.y.0
hotfix-* 线上BUG,从master中checkout出来。快速修改,修改完成后应同步到DEV上。 ——daily/x.y.Z
gitlab一个项目应有如下目录:
master 线上数据,自动生成,一般不用管
dev 公共开发目录
yourName 个人开发目录
daily/x.y.z 日常预发目录,覆盖式发布,打tag标签需要在这个目录下
gitlab常用功能:
My snippets 代码片段,可分享链接
Issues 管理日常事情
Merge request 代码合并请求,可以用于review
fork 复制别人的分支到自己的目录,方便自己玩,又不影响别人的代码和心情
Network 查看提交的各种分支,方便检查错误提交点
勾股的神slides:http://gitlab.alibaba-inc.com/jinjiang.zjj/event-misc/raw/slides/src/slides/slides.html
git remote的用法 http://blog.csdn.net/pgmsoul/article/details/7883706