git常用命令让你几步摆脱图形工具提交项目

来源:互联网 发布:ubuntu交叉编译器 编辑:程序博客网 时间:2024/05/22 17:30

今天介绍的不是完全的git命令,是配合gerrit的命令行提交项目代码,因为现在做项目,不像以前修改完代码就可以commit了,需要其他人员配合review代码,提高代码质量,把好常见的错误,及手误低级错误的的关,并且检查代码格式,统一代码风格。

准备工作:
安装好git客户端,生成ssh公钥,在gerrit上注册ssh公钥。

1、克隆代码 git clone -b dev (以dev分支为例)

git clone -b dev ssh://honjane@gerrit.honjane.org:123456/demo-android

(克隆下来代码后,首先设置自动生成changeId:保证每次commit有唯一的id顺序不会乱,如果没有id
强制提交失败,设置好之后以后每次commit都会自动生成changeId。)

scp -p -P 123456 honjane@gerrit.honjane.org:hooks/commit-msg .git/hooks

2、新建本地分支 ,(如果直接在dev分支开发也可以,不过每次git pull时远程代码与本地dev代码会auto merge,为了避免这个问题,新建本地分支开发)

 git branch local

3、切换到本地分支(这时就可以在local上开发了)

 git checkout local

(2)(3)过程可以合并到一起

 git checkout -b local

4、本地开发完成就可以commit了

git add . 或者git add -Agit commit -m "[imp] 日志"

5、切换至本地主分支dev 拉取远程代码

(不能直接在local分支更新代码,这样会更新失败。如果你说就是要在local上更新,使用git pull origin head:refs/for/dev,这样更新会auto merge,那么local分支就失去意义了)

git checkout devgit pull

6、切换至本地分支,rebase到本地主分支
(更新完remot代码,这时需要把远程与本地代码合并起来,这里不用merge,git merge会新建一个节点,然后再与本地节点合并直观的表现就是出现分叉,而rebase只体现修改的部分,是增量更新,节点看上去是直线型的)
rebase操作:
这里写图片描述
merge操作:
这里写图片描述

 git checkout local git rebase dev

7、push代码到远程分支

git push origin HEAD:refs/for/dev

这是一个正常流程,要是合并时候产生了冲突,就先解决冲动,然后在走步骤(7)

首先: 打开IDE,解决冲突
然后: 继续rebase

   git add .   git rebase --continue

最后:提交代码 git push ,走步骤(7)

git push origin HEAD:refs/for/dev

先介绍提交流程,后面会更新出现异常时操作命令

0 0
原创粉丝点击