结合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
ps:
参考博客
---- git 删除已经 add 的文件
http://blog.csdn.net/yang3wei/article/details/9399723