git 冲突解决

在git的使用过程中难免会碰到一些冲突,那么该怎么解决呢?
冲突会出现在什么地方呢?git pull 的时候,提示有冲突文件

error: Your local changes to the following files would be overwritten by merge:
        protected/config/main.php
Please, commit your changes or stash them before you can merge.

这个时候该怎么办呢?
如果希望保留生产服务器上所做的改动,仅仅并入新配置项, 处理方法如下:

git stash
git pull
git stash pop

然后可以使用git diff -w +文件名 来确认代码自动合并的情况.
修改完成之后,再提交到远端。

git stash有什么作用呢
git stash 可以将本地的改动存储到栈中,使本地的版本和git远端的相同,不影响git pull的操作,然后使用git stash pop将栈中的文件和pull下来的进行合并,之后再进行将冲突的文件进行修改就ok了。

当你多次使用’git stash’命令后,你的栈里将充满了未提交的代码,这时候你会对将哪个版本应用回来有些困惑,

git stash list

命令可以将当前的Git栈信息打印出来,你只需要将找到对应的版本号,例如使用’git stash apply stash@{1}’就可以将你指定版本号为stash@{1}的工作取出来,当你将所有的栈都应用回来的时候,可以使用’git stash clear’来将栈清空。

git stash          # save uncommitted changes
# pull, edit, etc.
git stash list     # list stashed changes in this git
git show stash@{0} # see the last stash 
git stash pop      # apply last stash and remove it from the list

git stash --help   # for more info

git stash popgit stash apply <stash@{id}> 的区别。

git stash pop stash@{id}命令会在执行后将对应的stash id 从stash list里删除,
git stash apply stash@{id} 命令则会继续保存stash id。
不同的时候用途可能会不一样,所以都需要学习一下

删除stash。
git stash drop <stash@{id}> 如果不加stash编号,默认的就是删除最新的,也就是编号为0的那个,加编号就是删除指定编号的stash。
git stash clear 是清除所有stash

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值