[b]一、异常解决[/b]
--git提交中E325: ATTENTION或E325: 注意 的解决方法 //.COMMIT_EDITMSG.swp
[url]https://blog.csdn.net/wangzunkuan/article/details/80484119[/url]
[b]二、git常用操作[/b]
结合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工程项目所在分支:20180808
[code="java"]
git clone -b 20180808 ssh://[email protected]:29418/CRM_Server && scp -p -P 29418 [email protected]:hooks/commit-msg CRM_Server/.git/hooks/
全部拉取: git pull
1、更新远程代码到本地仓库
git fetch
git stash
git rebase origin/20180808
git stash pop
2、添加本地修改后的文件到本地仓库
git add D:\.......\hello.java
3、提交
3.1:
git commit -m "提交日志说明";//commit是把修改内容提交到本地仓库
3.2:
git push origin HEAD:refs/for/20180808; //push命令是把本地仓库中要提交的内容提交到远程目标仓库分支
3.3:修改提交的注释或者代码
git commit --amend
(
保存退出:esc, :wq
不保存退出:esc :q
)
//
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操作)。
//
ps:【git commit --amend撤销】
[url]https://blog.csdn.net/qq_20488317/article/details/80585557[/url]
[url]https://blog.csdn.net/qq_36431213/article/details/78846385[/url]
[url]https://segmentfault.com/a/1190000014272359[/url]
3.4 解决冲突
修改完冲突代码以后,在Team Synchronizing视图下,找到冲突的文件,右键选择"Mark as Merged"即可。
3.5 git log; 查看完了以后退出:esc+Q+W;
[/code]
【合并分支】
假如所有的改动都在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
【版本回滚】
[url]https://www.cnblogs.com/wancy86/p/5848024.html[/url]
git reset --hard I5cc5ac6708dc6a72ec837d989fa06a38e7ea21a0
[b]三、GIT资料补充[/b]
参考博客
---- git 删除已经 add 的文件
[url]http://blog.csdn.net/yang3wei/article/details/9399723[/url]
--git reset 回滚
[url]https://blog.csdn.net/u011450490/article/details/60119210[/url]
--git log
[url]https://blog.csdn.net/daguanjia11/article/details/73823617[/url]
--Git常用命令总结
[url]https://www.cnblogs.com/mengdd/p/4153773.html[/url]