IDEA : Git Pull Failed 解决(IDEA中使用stash功能)
一、问题:
本地要commit代码,commit之前需pull代码,但pull提示冲突。如下
Git Pull Failed Your local changes would be overwritten by merge. Commit, stash or revert them to proceed.
二、分析:
原因很简单,代码冲突。解决也很简单,如图提示那样。Commit, stash or revert 。
revert 就算了,Commit需要先Pull,肯定失败,只剩下stash。但是怎么stash呢?
三、Git 操作步骤:
- 本地代码先 git stash ;(stash作用见参考)
- 然后pull代码;
- 最终再将本地代码 git stash pop;
四、IDEA中实际操作:
1、stash:
2、unstash:
5、总结
- 我在本地修改后,直接从dev上pull代码,起了冲突;
- 一开始没想太多,百度到这个办法后直接就拿来用了,先pull成功了,然后恢复了我的修改的内容,直接push
- 在git上发现没有我的提交
- 后来才发现,我在pull成功后,没有commit我的修改,就直接push,所以暂存区里没有东西能够提交到远程,所以出错
6、经验
后来询问师哥明白了
- 本地(处于修改状态时,这个文件是打开状态的),pull代码的时候,git不会处理这个文件,反而将其他文件的代码拉取好,这样做的是为了防止你本地的修改丢失。
- 但由于处于修改状态的文件没有拉取得和远程一样,所以整个pull的过程就会Failed
- 所以,如果改动好了这个文件,想要提交到远程分支上
3. 1.你需要先提交本地代码到暂存区
3. 2. 再pull远程的代码,在pull的过程,其实就是合并你暂存区里新添加(删减)的内容
3. 3 再去push的时候,其实push的就是 你pull过程合并好的代码到远程上
7、回顾
- 第一次stash是解决bug分支问题,比如你正在改代码,突然让你去修复一个bug,你总不能撤销自己所有的操作呀,
- 所以就用stash,保留现在的工作状态
- stash后,本地你的所有刚刚写到一半的代码就都没有了,但其实它被保存起来,还可以恢复
- 当你bug修复结束,提交到远程后,
- 在通过unstash,你就又回到你修复bug之前的工作状态了
但这次,人们通过stash来解决冲突,有发现了stash的另一个用法,很不错!
感谢您的阅读!
IDEA : Git Pull Failed 解决(IDEA中使用stash功能)相关推荐
- Git Pull Failed: CONFLICT (content): Merge conflict in camus-aggregator/camus-admin-web/src/main/web
今天使用idea+git提交项目的时候,我的操作过程是这样的commit -> pull 然后就在这个pull这出现了文件存在差异 我就对差异文件进行了修改,之后我再次pull的时候就出现了这 ...
- Git Pull failed: Failed to start Git process…\JetBrains\IntelliJIdea2021.1\tmp\intelliji-git-askpass
IDEA启动报错如下: Git Pull failed: Failed to start Git process: C\Users\用户名\AppData\Local\JetBrains\Intell ...
- idea Git Pull Failed refusing to merge unrelated histories
问题: 在idea 将本地代码添加到远程仓库,然后pull远程仓库代码时,报错: Git Pull Failed From https://gitee.com/abcd/git ...
- Git Pull Failed:Could not read from remote repository
解决方案: Go to Preferences > Version Control > Git. Make sure SSH executable is set to "Nati ...
- git pull时解决分支分叉(branch diverged)问题
git pull时解决分支分叉(branch diverged)问题 参考文章: (1)git pull时解决分支分叉(branch diverged)问题 (2)https://www.cnblog ...
- Git Pull Failed
Git Pull Failed Logon failed, use ctrl+c to cancel basic credential prompt. remote: HTTP Basic: Acce ...
- Git Pull Failed Your local changes would be overwritten by merge.(git报错)
在你pull的时候发现pull失败,因为本地有修改,所以有两种解决方式: 1. 将修改暂存,保留修改 $ git stash //暂存当前正在进行的工作. $ git pull //拉取服务器的代码 ...
- linux git pull 失败,解决git pull到github不成功的问题
网上也有很多帖子,但是配置时依旧遇到了一些问题,给自己稍微总结一下. 1.安装git(linux系统,其他系统自行百度) $sudo apt-get install git 2.完成基本配置 $git ...
- git pull 失败解决方法
因为队友在git仓库中进行了修改,所以我在本地代码库修改之后git pull会报错. 注意:git pull = git fetch + git merge Your local changes wo ...
最新文章
- openCv java Mat和MatOfByte的之间的相互转换 (4)
- android主流开源自动化框架(monkeyrunner,robotium,uiautomator
- 如何提升网站在搜索引擎中的排名?
- c++代码小游戏_用Python编写一个打乒乓球小游戏
- 【图像分类】 图像分类中的对抗攻击是怎么回事?
- Ideal Farm 构造(2400)
- java参数注解pam_java – 使用xmlelement defaultvalue注释指定默认值的简单方法
- python类class基础
- Android中利用ant进行多渠道循环批量打包(一)
- linux修改ftp锁定目录,解决linux下ftp指定访问目录无法修改的问题
- HTML与CSS基础之子元素的伪类(七)
- Eigen(6)快操作
- 【转载】cuda编程入门
- android ffmpeg 解码,如何在Android用FFmpeg解码图像
- IOS UIwebView 加载网络图片 使用相对地址
- java 对象与引用_Java --对象引用与对象的区别
- Spring消息之STOMP
- NOD32 2.7、3.0最新升级ID 每天实时同步更新
- java 不以科学记数法输出double
- 武术擂台机器人所需传感器_华北工控:嵌入式计算机在AMR机器人中的应用