- 结合eclipse中集成的git工具和windows安装的git bash命令行方式提交代码到gerrit过程如下:
- 1、先更新项目代码,确保远程分支代码同步到了本地,然后:项目右键-->team-->Synchronized Workspace-->进入Team Synchronized视图界面;
- 2、选中要提交的文件-->右键Add to Index-->右键commit-->输入提交日志(注意此时对应的是需求ID,如APP-99999);
- 3、通过git bash命令在本地push修改的文件(只有在上一步当中被add to index的文件才会受push命令影响),命令如:git push origin HEAD:refs/for/20170101
- 如果报错,可能需要刷新工程项目,然后更新项目,再重新执行push命令;
- ps:
- 当前eclipse工程项目所在分支:20170101
- 1、更新远程代码到本地仓库
- git fetch
- git stash
- git rebase origin/20170101
- git stash pop
- 2、添加本地修改后的文件到本地仓库
- git add D:\.......\hello.java
- 3、提交
- 3.1:
- git commit -m "提交日志说明";//commit是把修改内容提交到本地仓库
- 3.2:
- git push origin HEAD:refs/for/20170101; //push命令是把本地仓库中要提交的内容提交到远程目标仓库分支
- 3.3:修改提交的注释或者代码
- git commit --amend
- //
- git push完以后,如何希望修改代码或者追加代码到同一个gerrit的changeId提交记录上,可以通过2种方式:
- 第1种:在eclipce修改完代码以后,team synchronizing视图下项目右击执行add to index命令,然后执行git status查看是否add完成(文件是绿色说明已添加,文件是红色说明未添加),
- 之后在git里面执行git commit --amend命令,输入:wq退出保存,此时会发现追加修改的代码已经修改生效了,最后执行git push origin head:refs/for/20171111命令提交代码到远程目标分支;
- 第2种:在eclipse修改完代码以后,team synchronizing视图下项目右击执行add to index命令,然后项目右击执行commit命令,注意此时写入的注释中changeId要和上一次保持一致,
- 最后在git中输入git push origin head:refs/for/20171111提交代码到远程目标分支;
- 通过上述2种方式都可以保证gerrit上只出现一次提交记录(记录里面会显示执行了2次change操作)。
- //
- 3.4 解决冲突
- 修改完冲突代码以后,在Team Synchronizing视图下,找到冲突的文件,右键选择"Mark as Merged"即可。
- 【合并分支】
- 假如所有的改动都在origin/dev-20180101分支上,此时如果想要合并该分支代码到主分支master上,执行如下步骤即可:
- 1、确保所有代码已提交到origin/dev-20180101分支上,重新检出master分支代码到本地;
- 2、git pull;
- 3、git merge origin/dev-20180101;
- 4、以上就可以了。如果需要push,参考:git push origin head:refs/for/master