git stash pop 冲突,git stash list 中的记录不会自动删除的解决方法

Posted 钱天兵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git stash pop 冲突,git stash list 中的记录不会自动删除的解决方法相关的知识,希望对你有一定的参考价值。

在使用git stash代码时,经常会碰到有冲突的情况,一旦出现冲突的话,系统会认为你的stash没有结束。

导致的结果是git stash list 中的列表依然存在,实际上代码已经pop出来了。

 

处理的方式非常简单,主要是使用git stash命令进行处理,分成以下几个步骤进行处理。

1、解决文件中冲突的的部分,

打开冲突的文件,会看到类似如下的内容:

git冲突内容

其中Updated upstream 和=====之间的内容就是pull下来的内容,====和stashed changes之间的内容就是本地修改的内容。碰到这种情况,git也不知道哪行内容是需要的,所以要自行确定需要的内容。

解决完成之后,就可以正常的提交了。

 

2、删除stashgit stash drop <[email protected]{id}>  如果不加stash编号,默认的就是删除最新的,也就是编号为0的那个,加编号就是删除指定编号的stash。或者 git  stash clear 是清除所有stash,整个世界一下子清净了!

 

另外note一个小知识:

git stash pop <[email protected]{id}> 与 git stash apply <[email protected]{id}> 的区别。

当我使用git stash pop 和 git stash apply 几次以后,我发现stash  list 好像比我预计的多了几个stash。于是我便上网去了解了一下这两个命令的区别。原来git stash pop [email protected]{id}命令会在执行后将对应的stash id 从stash list里删除,而 git stash apply [email protected]{id} 命令则会继续保存stash id。对于有点强迫症的我来说,是容不下越来越多的陈旧stash id 仍然存在的,所以我更习惯于用git stash pop 命令, 

以上是关于git stash pop 冲突,git stash list 中的记录不会自动删除的解决方法的主要内容,如果未能解决你的问题,请参考以下文章

GIT: git stash pop 后有冲突时,如何撤销

Git之解决git stash pop多次产生的文件冲突问题

Git之解决git stash pop多次产生的文件冲突问题

git命令之git stash apply和 pop 的区别

git pull 冲突怎么修改冲突

解决Git stash pop 后Git出现Another git process seems to be running in this repository......错误信息