git使用文档
建立项目
-
新建项目
进入gitlab.git 选择LDAP,用自己的域账号登录 点击右上角的 加号(+)新建项目 填写项目名称 选择组为 Online_Web “Visibility Level”是项目权限,可以根据项目需要自行选择 点击 Creat Project
-
完善结构
按照页面提示的命令在终端操作即可
git config --global user.name "your name"
git config --global user.email "your email"
mkdir test
cd test
git init
touch README
git add README
git commit -m 'first commit'
git remote add origin git@gitlab.xxx/test.git
git push -u origin master
需要注意的是,如果没有指定host,需要修改命令中gitlab的地址
-
添加ssh key
点击右上角的 人形 图标 选择上面导航栏的 SSH Keys 点击右上角的 Add SSH Keys 进入下一页 点击 the SSH help page 进入帮助页面 点击左侧的 SSH 即可 按照页面提示操作,在终端输入以下命令
ssh-keygen -t rsa -C "$your_email"
cat ~/.ssh/id_rsa.pub
将显示的内容粘贴到 添加SSH Key的页面
添加SSH Key就是建立本机和gitlab之间的信任关系,以便以后在获取代码和提交代码时不用输入
用户名和密码
开发流程
-
获取代码
git clone http://gitlab.xxx.git
-
提交代码
git status //先查看一下状态 git commit -a -m "提交的说明" //提交到本地 git push //提交到远程服务器 注意:第一次提交的时候,最好提交.gitignore文件
-
更新代码
git fetch git merge origin/master (或者是对应的分支) 注意:尽量不要使用 git pull
-
回滚代码
git log // 找到要回滚的版本 git reset --hard 版本号 // 回滚到指定版本 有关git log 推荐使用: git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative
-
处理冲突
git 发生冲突的情况比较少见,一旦出现可以根据不同的类型查询帮助文档即可
持续集成
-
构建hudson
请参照web_bus项目进行配置 http://hudson.corp.elong.com:8080/view/%E7%BD%91%E7%AB%99/job/web-bus/configure
-
生成部署包
在hudson里点击 Build with Parameters 修改为新的版本号 点击 Build 开始打包
上线流程
-
tag相关
//创建版本号为1.0.0的版本 git tag -a v1.0.0 -m “标签的描述” //显示tag列表 git tag -l //删除指定标签 git tag -d v1.0.0 //将指定标签提交到git服务器 git push origin v1.0.0
-
分支相关
//创建分支 git branch name //切换分支 git checkout name //创建+切换分支 git checkout -b name //合并某分支到当前分支 git merge name //删除分支 git branch -d name //删除远程分支 git push origin : name //查看分支 git branch
-
开发流程
默认会创建master分支 完成第一次上线后,在master上打tag 然后根据tag创建develop分支 常规开发都在develop上进行 每次上线之后需要将代码合并到master上,然后打tag 如果在两次常规上线之间需要修复bug并且上线 可以根据master上一个tag创建一个fixbug分支 上线fixbug分支后,需要合并到master上并且打tag 同时需要合并到develop分支上 然后根据需要可以选择删除fixbug分支
git : 添加、查看和删除远端项目地址
添加远端项目地址
$ git remote add origin git@github.com:xxx/xxx.git
查看远端项目地址
$ git remote -v
origin git@github.com:xxx/xxx.git (fetch)
origin git@github.com:xxx/xxx.git (push)
删除远端项目地址
$ git remote rm origin
git : 回滚到任意版本
查看以往3次log记录
$ git log -3
回滚到指定的版本
$ git reset --hard e377f60e28c8b84158
回退到上个版本
$ git reset --hard HEAD^
回退到前3次提交之前,以此类推,回退到n次提交之前
$ git reset --hard HEAD~3
退到/进到 指定commit的sha码
$ git reset --hard commit_id
强制提交
$ git push -f origin master
强推到远程
$ git push origin HEAD --force
撤销指定文件到指定版本
# 查看指定文件的历史版本
git log <filename>
# 回滚到指定commitID
git checkout <commitID> <filename>
删除最后一次远程提交
方式一:使用revert
git revert HEAD
git push origin master
方式二:使用reset
git reset --hard HEAD^
git push origin master -f
git统计项目中各成员代码量
查看git上个人代码量
git log --author="username" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s
", add, subs, loc }' -
统计每个人的增删行数
git log --format='%aN' | sort -u | while read name; do echo -en "$name "; git log --author="$name" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s
", add, subs, loc }' -; done
查看仓库提交者排名前 5
git log --pretty='%aN' | sort | uniq -c | sort -k1 -n -r | head -n 5
贡献者统计:
git log --pretty='%aN' | sort -u | wc -l
提交数统计:
git log --oneline | wc -l
回滚代码:
git reset --hard cad0324fc462898033e1372724c0418ee651b1f7
git连接新仓库并提交代码步骤
1. git init //初始化仓库
2. git add .(文件name) //添加文件到本地仓库
3. git commit -m "first commit" //添加文件描述信息
4. git remote add origin + 远程仓库地址 //链接远程仓库,创建主分支
5. git pull origin master // 把本地仓库的变化连接到远程仓库主分支
6. git push -f origin master //把本地仓库的文件推送到远程仓库
怎么更换git远程仓库地址
方法一 : 通过命令直接修改远程仓库地址
git remote 查看所有远程仓库
git remote xxx 查看指定远程仓库地址
git remote set-url origin 你新的远程仓库地址
方法二: 先删除在添加你的远程仓库
git remote rm origin
git remote add origin 你的新远程仓库地址