| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发工具 -> git 合并代码操作 git stash解决git pull和本地文件的冲突 -> 正文阅读 |
|
[开发工具]git 合并代码操作 git stash解决git pull和本地文件的冲突 |
同事在使用git pull代码时,经常会碰到有冲突的情况,提示如下信息: error: Your local changes to 'c/environ.c' would be overwritten by merge. Aborting.Please,?commit?your changes or stash them before you can merge. 这个意思是说更新下来的内容和本地修改的内容有冲突,先提交你的改变或者先将本地修改暂时存储起来。 处理的方式非常简单,主要是使用git stash命令进行处理,分成以下几个步骤进行处理。 1、先将本地修改存储起来 $ git stash 这样本地的所有修改就都被暂时存储起来 。 其中stash@{0}就是刚才保存的标记。 ?$ git stash list?? ? ? ? ? ? ? ? 可以看到保存的信息: 2、pull内容 暂存了本地修改之后,就可以pull了。 $ git pull 3、还原暂存的内容 $ git stash pop stash@{0} 系统提示如下类似的信息: Auto-merging c/environ.cCONFLICT (content): Merge conflict in c/environ.c 意思就是系统自动合并修改的内容,但是其中有冲突,需要解决其中的冲突。 4、解决文件中冲突的的部分 其中Updated upstream 和=====之间的内容就是pull下来的内容,====和stashed changes之间的内容就是本地修改的内容。碰到这种情况,git也不知道哪行内容是需要的,所以要自行确定需要的内容。 解决完成之后,就可以正常的提交了。 5 删除stash。 $ git stash drop <stash@{id}> ? 如果不加stash编号,默认的就是删除最新的,也就是编号为0的那个,加编号就是删除指定编号的stash。 $ git ?stash clear? 是清除所有stash,整个世界一下子清净了! 6 git stash pop??与?git stash apply?<stash@{id}>?的区别。 当我使用git stash pop?和?git stash apply?几次以后,我发现stash ?list 好像比我预计的多了几个stash。于是我便上网去了解了一下这两个命令的区别。原来git stash pop?stash@{id}命令会在执行后将对应的stash id 从stash list里删除,而?git stash apply stash@{id}?命令则会继续保存stash id。对于有点强迫症的我来说,是容不下越来越多的陈旧stash id 仍然存在的,所以我更习惯于用git stash pop?命令。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 6:26:26- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |