Git的commit your changes or stash them before you can merge

今天用git pull来更新代码,遇到了下面的问题:

error: Your local changes to the following files would be overwritten by merge:
    xxx/xxx/xxx.java
Please, commit your changes or stash them before you can merge.
Aborting

但是服务器没有任何手动修改文件行为,很奇怪经常遇到莫名的这类问题

好吧,算啦,直接说最终的解决办法吧

1.stash

通常遇到这个问题,你可以直接commit你的修改;但我这次不想这样。

看看git stash是如何做的。

git stash
git pull
git stash pop

接下来diff一下此文件看看自动合并的情况,并作出相应修改。

git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。
git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。
git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。

2.放弃本地修改,直接覆盖之

git reset --hard
git pull

通常我直接采取方法2,这样不用考虑缓冲区的清理问题,这种更方便点吧

时间: 2024-12-21 07:13:31

Git的commit your changes or stash them before you can merge的相关文章

Git冲突:commit your changes or stash them before you can merge. 解决办法

用git pull来更新代码的时候,遇到了下面的问题: error: Your local changes to the following files would be overwritten by merge: xxx/xxx/xxx.php Please, commit your changes or stash them before you can merge. Aborting 出现这个问题的原因是其他人修改了xxx.php并提交到版本库中去了,而你本地也修改了xxx.php,这时候

Git冲突:commit your changes or stash them before you can merge. 解决办法(转)

用git pull来更新代码的时候,遇到了下面的问题: error: Your local changes to the following files would be overwritten by merge: xxx/xxx/xxx.php Please, commit your changes or stash them before you can merge. Aborting 出现这个问题的原因是其他人修改了xxx.php并提交到版本库中去了,而你本地也修改了xxx.php,这时候

Git冲突:commit your changes or stash them before you can merge. 解决办法(转载)

用git pull来更新代码的时候,遇到了下面的问题: error: Your local changes to the following files would be overwritten by merge: xxx/xxx/xxx.php Please, commit your changes or stash them before you can merge. Aborting 出现这个问题的原因是其他人修改了xxx.php并提交到版本库中去了,而你本地也修改了xxx.php,这时候

Please, commit your changes or stash them before you can merge.

如果系统中有一些配置文件在服务器上做了配置修改,然后后续开发又新添加一些配置项的时候, 在发布这个配置文件的时候,会发生代码冲突: error: Your local changes to the following files would be overwritten by merge:        protected/config/main.phpPlease, commit your changes or stash them before you can merge. 如果希望保留生产

“Will not add file alias 'samefile' ('SameFile' already exists in index)” when `git add/commit` operation

从远程仓库pull下来的代码有两个类类名首字母小写出现如下情况 然后我想删了重新写一下(就是把这个类删了,代码复制到名字正确的类里面),然后commit的时候出现这个错误,后来删一个commit一下,就可以commit,暂时估计是删了之后commit把原先index里面的清空了 "Will not add file alias 'samefile' ('SameFile' already exists in index)" when `git add/commit` operation

Git 撤销commit的注意事项

Git撤销commit的操作命令  git reset --hard HEAD^ 一.新建三个文件,demo1,demo2,demo3 二.git add 命令提交到暂存区,git reset HEAD demo1就是把提交到暂存区里的文件撤销. 上图中,执行git reset HEAD demo1就会把demo1从暂存区中撤销,现在是untracked. 三.git commit 提交本地仓库 上图中显示,git commit把demo2,demo3提交到本地仓库中. 四.现在想撤销之前的co

git checkout 报错error: Your local changes to the following files would be overwritten by checkout: data/dev.php Please, commit your changes or stash them before you can switch branches.

1  git clean n //这个是清除文件预览 git clean -f //强制清除文件 2  git clean -f //强制清除文件 3  git checkout -f <branch>  //不建议使用  容易丢失文件 原文地址:https://www.cnblogs.com/vinzen/p/9651876.html

[Git] 还原Git上commit,但是没有push代码

直接在Idea上操作2步解决: 1. 找到: 2. 在To Commit里面填写:HEAD^,表示将commit的信息还原为上一次的,需要多次直接reset多次即可: 使用命令行:原理一样 以下内容转载: http://zhyq0826.iteye.com/blog/1671638 如果不小心commit了一个不需要commit的文件,可以对其进行撤销. 先使用git log 查看 commit日志 commit 422bc088a7d6c5429f1d0760d008d86c505f4abe

git subproject commit xxxxxxxxxxxxxxxxxxxxx -dirty

-Subproject commit 8c75e65b647238febd0257658b150f717a136359 +Subproject commit 8c75e65b647238febd0257658b150f717a136359-dirty 不知道如何操作出现的 dirty , 可印象中又什么都修改过 解决办法, 进入提示的那个文件夹中 git checkout . 摘录出来的部分英文回复如下: As mentioned in Mark Longair's blog post Git