u011151292
在外大学生
采纳率0%
2018-11-08 02:14 阅读 8.3k

idea git解决完冲突之后仍显示有冲突为解决

idea git解决完冲突之后仍显示有冲突为解决
点击解决并不生效
图片说明

            这个问题不知道怎么关闭,那我就把他当博客写了,随后复制到博客记录
            https://blog.csdn.net/u011151292/article/details/102547484




我最终的解决办法是在version control,找到自己的分支,然后reset soft到commit前的节点,将不是自己需要提交的代码全部revert,之后pull到最新的分支,重新commit->push
ps:
1.因为对命令使用不太熟悉,所以没使用过命令
2.分支处于假死状态,任何跟远程仓相关的操作都会被挡住,但是又并没有任何需要merge的文件,导致操作提示一直提示
3.这里重点是reset,reset的几个操作也不是都可以使用,能使用的其中有一个soft,是节点回滚,但是代码不会滚。另外还有一个原因是省的去local histort去找原来的代码

原因猜测:
可能是多人同时对一个分支开发,有些人使用过force push,导致分支上的一些commit被废弃了,而本地分支有存在这些记录,最终合并出现冲突
那段时间公司大肆找人,新同事对git的操作比较随意

再说几点:
diea->version control->右键节点interactively rebase from here->force push
多次push修改之后,使用这个命令何以合并一些commit记录,force push覆盖调远程仓原来的commit可以使我们的提交记录看起来更加整洁。
这里也会涉及到一些远程仓commit记录修改的问题,如果是一个分支单功能多人开发,也是很容易出现上面的分支假死情况,除非你们都是大神。
所以这个比较推荐使用在客户化小功能开发,一个客户一个分支的模型开发(一般一个客户的需求并不多,参与开发的人也不多)
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • bingjianIT 写代码的林克 2018-12-15 14:33

    首先,你要明白为什么会有冲突:一般是两个分支对同一个文件产生了不同的修改造成了冲突。
    第二,你要知道解决冲突的完整步骤。你需要先打开存在冲突的文件,然后将冲突的地方删去Git为你添加的标记,并且修改代码到你认为合适的状态。再然后你需要add这些文件的修改,这一步就是标记了当前这些冲突的文件已经被解决了冲突。
    这时候还存在一个问题,你add之后,文件只是进入了暂存区,这时候你切换分支会存在两种情况:
    1.你当前修改的这些没有commit的文件和你将要切换过去的分支对应的文件没有存在冲突,那你就可以checkout成功
    2.你当前修改的这些没有commit的文件和你将要切换过去的分支对应的文件存在冲突,你checkout就会被阻止。
    如果你的checkout被阻止了,你有两种方法:
    1.你可以stash changes,把当前暂存区的文件添加到stash区,然后checkout到另一个分支
    2.你可以commit当前暂存区的文件,然后就可以成功checkout

    点赞 1 评论 复制链接分享
  • zhang1349274643 不卜 2019-09-27 14:17

    再命令行使用git status查看有哪些文件没有添加和删除,然后通过git add/remove添加和删除文件,然后重新push即可!

    点赞 1 评论 复制链接分享
  • youguchenmeng -Alvin- 2018-11-08 03:27

    试试这个图片说明不行把项目重新pull一下?我也很菜,不过一般都这这样好了

    点赞 评论 复制链接分享

相关推荐