当前位置: 首页 > >

如何用 gitlab 做 code review

发布时间:

首先参考:
git tutorial
git 简易教程(足够日常使用了)?by 廖雪峰
git远程操作 ? by 阮一峰


1. git 基础概念
workspace / working directory:工作区
就是你在电脑里能看到的目录index / stage:暂存区
更改通过git add到了这里repository:版本库
git commit更改到这里
(之前三个概念可参照工作区、暂存区 和 版本库)remote


branch


2. 常用的 git 命令
本地

git add / rm -
git commit -m "xxxx"


远程

git push origin <远程分支>:<本地分支>


分支

git branch dev
创建分支dev
git branch -d dev
删除分支dev
git checkout dev
切换到dev分支
git checkout -b dev <分支>
创建一个叫dev的新分支,并切换到dev,又等同于


git branch dev
git checkout dev

后面的<分支>是指 以哪个分支为base, 通常设为origin/master


3. code review
利用分支
从origin/master分支分出来一个dev分支:
git checkout -b dev origin/master在dev分支上进行一些更改add到本地stage
git add/rm commit到本地repository
git commit -m ""push到远程分支
git push origin <远程分支>:<本地分支>在网页中提一个merge request, 估计从dev 到 master
理解git merge 和 git rebase
Git速成班: git rebase git book 中文版 rebase
一般merge分支到远程master的流程
切换到本地master
git checkout master把远程库pull到本地的workspace
git pull origin master把chi-dev分支merge到本地master
git merge chi-dev此时如有冲突, 解决冲突( 可以看 分支与合并基础 ):
执行 git status 会显示这些文件没有合并(unmerged),这些有冲突的文件里面会添加像下面的冲突标识符:

<<<<<<< HEAD:file.txt
Hello world
=======
Goodbye
>>>>>>> 77976da35a11db4580b80ae27e8d65caf5208086:file.txt

所要做的就是编辑解决冲突(删掉冲突标识符, 改对代码), 等号和7个<之间是HEAD, 等号和7个>之间是 77976da35a11db4580b80ae27e8d65caf5208086


把刚做的这些编辑提交到index
git add把这些编辑提交到repository
git commit提交到远程版本库
git push
解决冲突

这个讲的很好:
Resolving a merge conflict from the command line
冲突有两种


    两个人更改了同个文件的同一行 两个人一个人对文件做了更改,另一个人删掉了文件

如果我需要从origin/master 开始开发,本地的更改暂且不动,如何操作?
    从服务器上获取数据
    git fetch origin在远程分支的基础上分化出来一个新分支(如serverfix)
    git checkout -b serverfix origin/master在serverfix上继续开发

4. 你会用到的:
    撤销修改Git-为项目作贡献Git 分支 - 远程分支git ssh 如何用: 先在本地产生ssh key:ssh-keygen -t rsa -b 4096 -C “your_email@example.com”;然后在gitlab上profile settings里add keygit ssh 用两个不同的host:1. ssh-keygen -t rsa -C “xx@email.com” 2. ssh-add 3. 到bitbucket上添加public key 4. 在~/.ssh/config 添加配置 5. git clone git@bitbucket.org/xxx 试下



友情链接: