【pyCharm Git】办理报错Git拉取失败 Your local changes will be overwrit ...

打印 上一主题 下一主题

主题 1700|帖子 1700|积分 5100


目录
Git拉取失败 Your local changes will be overwritten by merge. Commit, stash, or revert them to proceed.
一、报错场景
二、标题分析
三、办理方法
方法1:保留当地改动的同时,并把Git服务器上的代码pull下来
媒介
步调
方法2:直接覆盖当地的代码,放弃自己当地的改动,只保留服务器端代码
媒介
步调


Git拉取失败 Your local changes will be overwritten by merge. Commit, stash, or revert them to proceed.

一、报错场景

在使用Git pull 代码的时候,出现了如许的标题。

二、标题分析

这是因为当地有文件改动未提交,而且该文件和Git服务器最新版本有辩论,此时pull更新就会提示错误,无法更新。
三、办理方法

方法1:保留当地改动的同时,并把Git服务器上的代码pull下来

媒介

先把当地改动暂存到当地堆栈,pull代码后再把这部分改动代码拿出来。
stash的好处是可以先将你的改动暂存到当地堆栈中,随时可以取出来再用,但是不用担心下次push到服务器时,把不想提交的改动也push到服务器上,因为Stash Changes的内容不参与commit和push。 
步调

(1)通过VCS -> Git -> Stash Changes,将当地的所有改动暂存到当地堆栈。
这一步执行后会打消当地的所有改动,这时候不用担心自己修改的代码怎么不见了,还可以拿出来的.


创建之后,提示如下,

 
(2)现在可以pull 了。



此时,pull完成后当地代码就更新到最新了,也不会报错了。
(3)假如想把自己修改的部分从当地堆栈中再拿出来的话,可以通过VCS -> Git -> unStash Changes 把之前的改动合并到当地。




假如有辩论,自己手动修改即可。

如许就将之前的改动合并到当地。 
OK,可以看到乐成将暂存弄返来了。

方法2:直接覆盖当地的代码,放弃自己当地的改动,只保留服务器端代码

媒介

当我们用 pycharm 提交代码的时候,每天都要 commit 提交的内容,有时候发现背面写的代码还不如前两天的稳固。
因此,可以直接回退到上一个版本,再进行pull。
这时候想把代码回退到某次 commit 提交,可以使用git的 reset 功能来实现。
步调

(1)打开pycharm -> VCS -> Git -> Show History ,查看 commit 提交记载。



(2)直接依次点击VCS -> Git -> Reset HEAD...,

会出现一个弹窗,如下图所示,

(3)选择必要的reset模式,reset 回滚有三种范例:


  • Mixed 此为默认方式 回退一个版本,且会将暂存区的内容和当地已提交的内容全部恢复到未暂存的状态,不影响原来当地文件(未提交的也不受影响)
  • soft 回退一个版本,不清空暂存区,将已提交的内容恢复到暂存区,不影响原来当地的文件(未提交的也不受影响)
  • hard 回退一个版本,清空暂存区,将已提交的内容的版本恢复到当地,当地的文件也将被恢复的版本更换
这里选择默认的Mixed回滚范例。
(4)To Commit 输入框输入commit id,此处将刚刚上一步查询到的id号输入进去,也就是"9af94622"。

(5)回滚之前,可以先点下 Validate 按钮确定下有没这个commit id。

点Reset之后就可以回滚乐成啦。
这里我自己也还没有玩过,仅供参考哈~~

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

渣渣兔

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表