git 冲突解决(转载)

gerrit是不会解决冲突的,如果两个人同时改了一个文件的同一行,就会冲突,你将会看到Review in Progress并且最下面会有Your change could not be merged due to a path conflict.

如果在冲突提交者机器上解决远程冲突

cd demo
git fetch origin
git rebase origin/develop
修改冲突文件
git add .
git rebase --continue
git push origin
不会产生新的changes记录,将原changes记录重新review提交即可
git pull

如果在其它机器上解决远程冲突

cd demo
以分支为develop为例
打开Gerrit有冲突的那个网址,如 http://192.168.1.33:8080/#/c/16/ 找到Download 如下命令,执行
git fetch ssh://[email protected]:29418/demo refs/changes/16/16/1 && git checkout FETCH_HEAD
git checkout -b new_branch_name
git fetch origin
git rebase origin/develop
修改冲突文件
git add .
git rebase --continue
git push origin new_branch_name:refs/for/develop
git checkout develop
git branch -D new_branch_name
不会产生新的changes记录,将原changes记录重新review提交即可,这时在原冲突机器上直接pull会本地冲突,需要
git reset --hard HEAD^
否则会出现cannot do a partial commit during a merge.最后更新下代码
git pull

扩展阅读

撤销前一次 commit

git revert HEAD

撤销所有本地修改

git reset --hard

撤销所有本地到上一次修改

git reset --hard HEAD^

1.Gerrit里点击“publish and submit”提示如下:

Your change could not be merged due to a path conflict.

Please merge (or rebase) the change locally and upload the resolution for review.

2.解决方法如下:

cd ~/projects/pan   #切换到pan项目
git branch   #查看分支情况
git checkout master  #选择分支
git fetch origin  #fetch与pull的区别,自己再搜吧~
git rebase origin/master  #查看有“CONFLICT (content): ”的地方,手工解决冲突后,下一步
git add dev/controller/web/index.php #这只是一个举例,即要先add操作
git rebase --continue
git push origin HEAD:refs/for/master    #OK了

git push后,你需要在Gerrit里面再次review一次。

3.本文参考博客:《Git,Gerrit,hudson(3)--git技巧总结》

虽然对git还是有些疑惑,anyway,冲突的问题还是解决了。

参考:

http://johnshen0708.iteye.com/blog/1487760

http://rubyist.marsz.tw/blog/2012-01-17/git-reset-and-revert-to-rollback-commit/

git 冲突解决(转载)

时间: 2024-08-28 00:16:45

git 冲突解决(转载)的相关文章

git 冲突解决办法

在项目中使用git管理,冲突是在所难免的,如果没办法解决冲突,可以试试这个办法! 第一步.对工程进行备份,最好是拷贝到其他文件夹中 第二步.在cmd命令栏上,进入到工程目录下,这里的工程只你正在开发的工程 第三步.输入命令 git stash git stash clear git reset --hard  id 注:id指你上传文件的id,在eclipse中右键工程->team->show in history 就可以看到上传的id git pull 第四步.刷新工程 第五步.将备份好的工

git分支管理与冲突解决(转载)

Git 分支管理和冲突解决 原文:http://www.cnblogs.com/mengdd/p/3585038.html 创建分支 git branch 没有参数,显示本地版本库中所有的本地分支名称. 当前检出分支的前面会有星号. git branch newname 在当前检出分支上新建分支,名叫newname. git checkout newname 检出分支,即切换到名叫newname的分支. git checkout –b newname master 这个命令将上面两个命令合并:在

团队开发中Git冲突解决

正常来说我们团队协作开发过程中,冲突是常有的事,下面介绍下本人在开发中的解决办法. 冲突的主要原因就是由于我们开发人员在分支的同一位置写入了不一样的代码,然后合并到主干上导致我们冲突. 方法: 当冲突发生时,我们可以选中冲突的代码 ---->点击鼠标右击 ---->Compare with ----->HEAD Revision进行两个窗口的代码比较即可,删除冲突的代码即可 解决冲突办法:删除冲突的代码,然后在add to index就可以了,然后我们在commit提交到本地即可.

git冲突解决

原文地址:https://www.cnblogs.com/c-x-a/p/9963365.html

Git冲突:commit your changes or stash them before you can merge. 解决办法(转载)

用git pull来更新代码的时候,遇到了下面的问题: error: Your local changes to the following files would be overwritten by merge: xxx/xxx/xxx.php Please, commit your changes or stash them before you can merge. Aborting 出现这个问题的原因是其他人修改了xxx.php并提交到版本库中去了,而你本地也修改了xxx.php,这时候

Git merge 冲突解决简明教程

目录 1.????概述????1 2.????从git difftool & mergetool 工具开始 – Beyond Compare????1 2.1.????下载安装Beyond Compare????1 2.2.????创建启动Beyond Compare脚本????1 2.2.1.????创建git-difftool-bcomp-wrapper.sh????2 2.2.2.????创建git-mergetool-bcomp-wrapper.sh????2 2.3.????设置环境变

Git下的冲突解决

冲突的产生 很多命令都可能出现冲突,但从根本上来讲,都是merge 和 patch(应用补丁)时产生冲突. 而rebase就是重新设置基准,然后应用补丁的过程,所以也会冲突. git pull会自动merge,repo sync会自动rebase,所以git pull和repo sync也会产生冲突.当然git rebase就更不用说了. 冲突的类型 逻辑冲突 git自动处理(合并/应用补丁)成功,但是逻辑上是有问题的. 比如另外一个人修改了文件名,但我还使用老的文件名,这种情况下自动处理是能成

(转)使用git stash解决git pull时的冲突

在使用git pull代码时,经常会碰到有冲突的情况,提示如下信息: error: Your local changes to 'c/environ.c' would be overwritten by merge. Aborting. Please, commit your changes or stash them before you can merge. 这个意思是说更新下来的内容和本地修改的内容有冲突,先提交你的改变或者先将本地修改暂时存储起来. 处理的方式非常简单,主要是使用git

关于git的文件内容冲突解决

虽然以前我很怕git冲突,包括以前的版本控制器SVN上的冲突,但是昨天我决定好好的面对它,不去怕它,下面是我的解决过程... 话说一天的早上,我和同事(称为A)都同步了网络上的代码,然而A在中途提交了一次,并且合并到主分支master上了,更巧的是提交的那个文件是我现在也修改了的,然后等我晚上提交request 合并时,上面显示无法自动合并,头疼了(当时还是怕有冲突的),以下是我的解决办法... windows版本 打开git bash 进入到项目本地分支目录下(如我的本地分支名叫wuyouwe