Python pycharm提交代码遇到冲突解决方法

目录
  • 一、背景
  • 二、冲突产生原因
  • 三、解决方法
    • 3.1 pycharm误删代码怎么处理
    • 3.2 解决pull --rebase代码冲突
    • 3.3 备份代码
  • 四、重点注意事项

一、背景

我在pycharm提交代码的时候,因为对git和pycharm不是很熟悉,在提交代码到远程仓库遇到冲突后选择应用远端代码导致把本地代码全部删除。之后不知道代码恢复方法,又把代码重新写了一遍,非常浪费时间,导致开发效率低下。

这个问题的相关解决方法在网上比较零碎也不详细,下面我通过自己的实践一步步说明如何解决这个问题。

二、冲突产生原因

简单来说,就是一个以上的人对代码进行不同修改,在进行合并的时候git无法判断如何merge。

举例一个最常见的情况,在同一个开发分支上,A和B都拉取了版本1,A在版本1上修改了一行代码,并且把这次修改commit,生成版本2。之后,B不知道A的修改,也在版本1上修改了同一行代码,B打算提交此次修改,在pull的时候就会产生冲突。

三、解决方法

3.1 pycharm误删代码怎么处理

右键点击当前项目,找到Local History->Show History

点开之后,就会弹出一个框,左侧是文件名称,找到相对应的名称,打开,赋值代码

3.2 解决pull --rebase代码冲突

command+t产生冲突后,pycharm会弹出提示框把冲突标注出来。

从左到右分别是自己本地修改的代码,你上一次pull下来的未修改前的原版代码,远端分支最新版本。

选择自己修改的版本或者远端最新版本

在这个弹出的提示框最下面,Accept Left选择自己的版本或者Accept Right选择远端最新版本

放弃合并:

点击abort,放弃合并回到rebase之前的状态

会出现Abort and Rollback applying patch or Skip this file?提示,直接确认就行了

手动合并:

和同事商量后在中间的代码块进行合并修改,修改完点击Apply

再点击Apply Changes and Mark Resolved,pull之后就会发现,拉下来的冲突代码块展示的是自己刚刚修改的语句。

3.3 备份代码

  • 最简单的直接把代码所有文件复制一份

没啥好说的,跳过

  • 保存在git暂存区(本质是一个栈)

单个stash:

  • git stash // 把还未提交的代码存到暂存区
  • git stash pop // 取出代码

多个stash:

  • git stash save 名称 // 暂存代码
  • git stash pop // 取出最近一次存的代码
  • git stash list // 查看所有暂存代码
  • git stash apply stash@{} // 取出暂存区对应代码,根据list结果写指令

四、重点注意事项

  • 必须先pull再push!!push没有处理冲突的能力,会直接报错
  • pull --rebase与远程代码同步,同步过程中会检测冲突
  • 推荐手动合并!!
  • 在合并代码前做好备份很重要!!之后误操作导致代码被删也可以直接恢复!!记得备份!!尤其是刚参加工作或者刚参与大型项目的同学

到此这篇关于Python pycharm提交代码遇到冲突解决方法的文章就介绍到这了,更多相关pycharm提交代码冲突内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 解决使用pycharm提交代码时冲突之后文件丢失找回的方法

    1: 更新代码时, 监测到本地代码改变,需要和合并,重启之后才可以, 选择No同时,代码会被冲掉,新增加的文件也会被冲掉, 但是pycharm有一个文件历史记忆,找到之后可以找到丢失的文件. 1: 选择工程跟目录 2: 右键点开 3: 找到    Local History   -----    show History 点开之后,就会弹出一个框,左侧是文件名称,你找到相对应的名称之后,打开,赋值代码即可. 总结 以上所述是小编给大家介绍的解决使用pycharm提交代码时冲突之后文件丢失找回的方

  • Python pycharm提交代码遇到冲突解决方法

    目录 一.背景 二.冲突产生原因 三.解决方法 3.1 pycharm误删代码怎么处理 3.2 解决pull --rebase代码冲突 3.3 备份代码 四.重点注意事项 一.背景 我在pycharm提交代码的时候,因为对git和pycharm不是很熟悉,在提交代码到远程仓库遇到冲突后选择应用远端代码导致把本地代码全部删除.之后不知道代码恢复方法,又把代码重新写了一遍,非常浪费时间,导致开发效率低下. 这个问题的相关解决方法在网上比较零碎也不详细,下面我通过自己的实践一步步说明如何解决这个问题.

  • Pycharm cannot set up a python SDK问题的原因及解决方法

    目录 一.问题原因 二.解决办法 总结 一.问题原因 (如果不是第一次使用pycharm,我觉得可以跳过这一章) 我是升级以后,在用pycharm打开以前的项目就出现报错了: 很明显是环境信息配置的不正确: 在修改环境配置的时候出现了下面的报错 进入Pycharm后,打开之前的项目,打开Pycharm→file→settings→project interpreter,按照下图1选择配置之后,点击[OK]会出现报错,如图2 我的环境上有很多之前的包,所以这个地方我选择使用之前的venv环境,不敢

  • 输入法的回车与消息发送快捷键回车的冲突解决方法

    问题:在中文输入法输入文字时按ENTER键:绑定keyup事件会将输入法中的英文文字输入到文字框并直接触发发送按钮 键盘事件: 当一个按键被pressed或者released,在每一个浏览器中都可能会触发三种键盘事件 keydown keypress keyup keydown事件发生在按键被按下的时候,接着触发keypress,松开按键的时候触发keyup事件 中文输入法: firfox:输入触发keydown,回车确认输入触发keyup chrome:输入触发keydown.keyup,回车

  • Ubuntu下pycharm无法导入类的解决方法

    最近在学习Python的flask框架,配置好环境后,在终端跑了一下"hello.py"效果不错,一点毛病没有:但当我用pycharm打开后却发现代码有错,无法导入 Flask 类,详细错误信息如下: This inspection detects names that should resolve but don't. Due to dynamic dispatch and duck typing, this is possible in a limited but useful n

  • git在idea中的冲突解决方法(非常重要)

    1.git冲突的场景 情景一:多个分支代码合并到一个分支时: 情景二:多个分支向同一个远端分支推送代码时: 实际上,push操作即是将本地代码merge到远端库分支上. 关于push和pull其实就分别是用本地分支合并到远程分支 和 将远程分支合并到本地分支 所以这两个过程中也可能存在冲突.git的合并中产生冲突的具体情况: <1>两个分支中修改了同一个文件(不管什么地方) <2>两个分支中修改了同一个文件的名称 两个分支中分别修改了不同文件中的部分,不会产生冲突,可以直接将两部分

  • Python中MYSQLdb出现乱码的解决方法

    本文实例讲述了Python中MYSQLdb出现乱码的解决方法,分享给大家供大家参考.具体方法如下: 一般来说,在使用mysql最麻烦的问题在于乱码. 查看mysql的编码: 命令:  复制代码 代码如下: show variables like 'character_set_%'; 可以看到如下结果: character_set_client为客户端编码方式: character_set_connection为建立连接使用的编码: character_set_database数据库的编码: ch

  • Android 中SwipeRefreshLayout与ViewPager滑动事件冲突解决方法

    Android 中SwipeRefreshLayout与ViewPager滑动事件冲突解决方法 问题描述: 开发中发现,SwipeRefreshLayout的下拉刷新,与ViewPager开发的banner的左右滑动事件有一点冲突,导致banner的左右滑动不够顺畅.很容易在banner的左右滑动的过程中,触发SwipeRefreshLayout的下拉刷新,从而导致banner左右滑动的体验很差. 解决方案: 可以在ViewPager的滑动时候设置SwipeRefreshLayout暂时不可用,

  • Empty test suite.(PyCharm程序运行错误的解决方法)

    运行程序test4_4.py时报错,Empty test suite. 查找资料发现原因: 默认情况下,PyCharm将检查以test开头的文件,它们是unittest.TestCase的子类,但是你可以控制模式和子类选项. 根据您的测试文件名更改模式,它接受Python正则表达式. 解决方法: 1.更改程序名字,不要以test开头 2.默认测试运行器必须设置为 File > Settings > Tools > Python Integrated Tools对话框中的Nosetests

  • python write无法写入文件的解决方法

    尝试用python写文件,但是无法写入文件,文件内容为空. 原代码片段如下, poem = "This is a poem" dirs = '~/work/python/' #改为dirs = '/Users/joseph/work/python/' filename = 'poem.txt' path = dirs + filename f = open(path, 'w') f.write(poem) f.close() 后来发现是dirs 出了问题,应该用绝对路径,改成/User

随机推荐