如何解决git说“在合并之前提交更改或存储它们”?我在我的本地计算机上做了一些更新,将它们推送到远程存储库,现在我正在尝试将更改提取到服务器并获取消息;错误:合并将覆盖对以下文件的本地更改:的wp-content / W3TC-配置/ master.php请在合并之前提交更改或存储更改。所以我跑了,git checkout -- wp-content/w3tc-config/master.php并再次尝试,我收到相同的消息。我假设w3tc在服务器上的配置文件中改变了一些东西。我不关心本地副本或远程副本是否在服务器上(我认为远程副本是最好的),我只是希望能够合并其余的更改(插件更新)。有任何想法吗?
3 回答
ibeautiful
TA贡献1993条经验 获得超5个赞
您无法与本地修改合并。Git可以保护您免于丢失潜在的重要更改。
你有三个选择:
使用提交更改
git commit -m "My message"
存放它。
Stashing充当堆栈,您可以在其中推送更改,然后以相反的顺序弹出它们。
要藏匿,输入
git stash
合并,然后拉藏:
git stash pop
放弃本地更改
使用
git reset --hard
或git checkout -t -f remote/branch
或者:放弃特定文件的本地更改
运用
git checkout filename
长风秋雁
TA贡献1757条经验 获得超7个赞
您可以尝试以下方法之一:
变基
对于简单的更改,尝试在拉动变化的同时进行变基,例如
git pull origin master -r
因此,它将在获取后将您当前的分支应用于上游分支的顶部。
这相当于:checkout master
,fetch
和rebase origin/master
Git命令。
这是一种潜在危险的操作模式。它重写了历史,当你已经发布了这段历史时,它并不是一个好兆头。除非您
git-rebase(1)
仔细阅读,否则请勿使用此选项。
查看
如果您不关心本地更改,可以切换到其他分支临时(强制),然后将其切换回来,例如
git checkout origin/master -fgit checkout master -f
重启
如果您不关心本地更改,请尝试将其重置为HEAD(原始状态),例如
git reset HEAD --hard
如果上面没有帮助,那么它可能是你的git规范化文件(.gitattributes
)中的规则,所以最好提交它所说的内容。或者您的文件系统不支持权限,因此您必须filemode
在git配置中禁用。
- 3 回答
- 1 关注
- 9593 浏览
添加回答
举报
0/150
提交
取消