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

今天在使用Git pull 代码的时候,出现了这样的问题:

Git Pull Failed
Your local changes would be overwritten by merge.
Commit, stash or revert them to proceed.

Git拉取失败 Your local changes would be overwritten by merge.Commit, stash or revert them to proceed._第1张图片
这是因为本地有文件改动未提交,并且该文件和Git服务器最新版本有冲突,此时pull更新就会提示错误,无法更新。
Git小白,不敢随便点点点,所以记录下解决方法~

方法一:

保留本地改动的同时,并把Git服务器上的代码pull下来:
–>先把本地改动暂存到本地仓库,pull代码后再把这部分改动代码拿出来。
步骤:

  1. 通过VCS -> Git -> Stash Changes,将本地的所有改动暂存到本地仓库。
    这一步执行后会撤销本地的所有改动,这时候不用担心自己修改的代码怎么不见了,还可以拿出来的
    Git拉取失败 Your local changes would be overwritten by merge.Commit, stash or revert them to proceed._第2张图片
  2. 现在可以pull 了。
    Git拉取失败 Your local changes would be overwritten by merge.Commit, stash or revert them to proceed._第3张图片
    pull完成后本地代码就更新到最新了,也不会报错了~
    Git拉取失败 Your local changes would be overwritten by merge.Commit, stash or revert them to proceed._第4张图片
  3. 如果想把自己修改的部分从本地仓库中再拿出来的话,可以通过VCS -> Git -> unStash Changes 把之前的改动合并到本地。
    Git拉取失败 Your local changes would be overwritten by merge.Commit, stash or revert them to proceed._第5张图片

方法二:

直接覆盖本地的代码,放弃自己本地的改动,只保留服务器端代码:
–>直接回退到上一个版本,再进行pull。
步骤:

  1. 直接 VCS -> Git -> Reset HEAD...
    Git拉取失败 Your local changes would be overwritten by merge.Commit, stash or revert them to proceed._第6张图片
  2. 选择需要的reset模式
    Git拉取失败 Your local changes would be overwritten by merge.Commit, stash or revert them to proceed._第7张图片
    这里我自己也还没有玩过,仅供参考哈~~
    Git拉取失败 Your local changes would be overwritten by merge.Commit, stash or revert them to proceed._第8张图片

git reset --soft 只是将HEAD引用指向指定的提交,工作区跟暂存区的内容不会改变
git reset --mixed(默认选项)将HEAD指向指定的提交,暂存区的内容随之改变,工作区内容不变
git reset --hard 将HEAD指向指定的提交,暂存区跟工作区都会改变

撒花✿✿ヽ(°▽°)ノ✿

你可能感兴趣的:(GitHub,测试,git,pycharm)