目录
一、背景二、冲突产生原因三、解决方法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提交代码冲突内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
X 关闭
X 关闭
- 1亚马逊开始大规模推广掌纹支付技术 顾客可使用“挥手付”结账
- 2现代和起亚上半年出口20万辆新能源汽车同比增长30.6%
- 3如何让居民5分钟使用到各种设施?沙特“线性城市”来了
- 4AMD实现连续8个季度的增长 季度营收首次突破60亿美元利润更是翻倍
- 5转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 6充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 7好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 8名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?
- 9亚马逊云科技成立量子网络中心致力解决量子计算领域的挑战
- 10京东绿色建材线上平台上线 新增用户70%来自下沉市场