当前位置:文档之家› gerrit git 常用操作

gerrit git 常用操作

gerrit/git常用操作
1、代码下载方法
a. 下载整个工程代码:
repoinit ……
repo sync
b. 下载部分模块代码
repoinit ……
repo sync + projectPath
2、通过repo 提交代码
a.下载所需修改模块的代码
mkdir Test
cd Test
repoinit ……
repo sync projectName
b. 建立新分支:repo start branchName . / repo start branchNameprojectName
c. 修改代码
d. git add . (提交所有修改到git缓冲区) / git add + FileName(只提交指定文件)
e. git commit -s
格式要求:
module: submodule: Message Title Blablabla
Message Content Blablablablablablablablabla
Ticket: APOLLO-20472
f. repo upload . / repo upload projectName
g. 评审代码并submit。

3、直接通过gerrit pick Patch
a.在gerrit上打开需要pick的patch
b.点击“Cherry Pick To”按钮,在弹出的对话框中输入需要pick到的branch.
注意:如果无法直接pick过来,网页会直接报错,此时则需要按下面的步骤4手动pick,并解决冲突。

c.成功pick之后,会生成一个新的gerrit提交,并自动在Reviewer中加入了原Author,merge 之前让原Author确认。

d.评审代码并submit。

4、Pick冲突解决:
如果在gerrit上直接pick产生冲突,需要手动pick,并解决冲突:
目标:从分支A上pick一个Patch到分支B
mkdir test
cd test
repo init分支A
repo sync 分支A的需要修改的project
rm分支A的需要修改的project
repo init分支B
repo sync 分支B的需要修改的project
cdprojectName
repo start branchName .
(git show + commitID)
git cherry-pick + commitID
解决冲突:
git status
vi 冲突的文件
<<<<<<<<<<<<<<<<<<<<<
A分支的内容
====================
B分支的内容
>>>>>>>>>>>>>>>>>commit信息
git add .
git commit -s
repo upload
在gerrit上加上原Author,让其确认。

建议:解决完冲突,Merge之前,先在本地工程编译、测试pick过来的patch是否正常work.
5、快速下载代码方法
a. 第一次下载一份完整的代码:(时间较长)
mkdir ~/myCode
cd ~/myCode
repoinit ……
repo sync
b.提取公共文件
mkdir ~/RootProject
mv ~/myCode/.repo/project* ~/RootProject
//恢复myCode工程
cd ~/myCode/.repo
ln -s ~/RootProject/project* ./
c.后续下载代码(时间比第一次要短很多)
mkdirmyProject
cdmyProject
repoinit ……
cd .repo
ln -s ~/RootProject/project* ./
cd ..
repo sync
6、常用git命令
git status ->查看git仓状态
git add . / filename ->增加修改到git
git commit -s ->提供修改
git reset --hard ->将所有临时修改都去掉(无法找回),回到HEAD状态(危险!慎用)git reset HEAD^ ->删除HEAD的commit信息
git clean –df ->删除所有没有被git管理的文件及文件夹。

相关主题