我在本地计算机上进行了一些更新,将它们推送到远程存储库中,现在我正尝试将更改拉到服务器上,并且得到消息;
错误:您对以下文件的本地更改将被合并覆盖:
wp-content / w3tc-config / master.php
请先提交您的更改或将其存储起来,然后再进行合并。
所以我跑了
git checkout -- wp-content/w3tc-config/master.php
并再次尝试,我得到相同的消息。我假设w3tc
更改了服务器上的配置文件中的某些内容。我不在乎本地副本还是远程副本在服务器上(我认为远程副本最好),我只想能够合并其余的更改(插件更新)。
有任何想法吗?
您无法与本地修改合并。 Git 保护您避免丢失潜在的重要更改。
您有三种选择:
git commit -m "My message"
存放是一个堆栈,您可以在其中推送更改,然后以相反的顺序弹出更改。
要隐藏,请键入
git stash
进行合并,然后拉出藏匿处:
git stash pop
使用git reset --hard
或git checkout -t -f remote/branch
使用git checkout filename
git stash
git pull <remote name> <remote branch name> (or) switch branch
git stash apply --index
第一条命令将您的更改临时存储在存储中,并将其从工作目录中删除。
第二条命令切换分支。
第三个命令将还原您存储在存储中的更改( --index
选项可用于确保已暂存的文件仍处于暂存状态)。
您可以尝试以下方法之一:
对于简单的更改,请尝试在更改的基础上重新进行更改,例如
git pull origin master -r
因此,它将在提取后将当前分支应用到上游分支的顶部。
这等效于: checkout master
, fetch
和rebase origin/master
git 命令。
这是潜在的危险操作模式。它会重写历史记录,当您已经发布该历史记录时,这并不是一个好兆头。除非您已仔细
git-rebase(1)
否则不要使用此选项。
如果您不关心本地更改,则可以(强行)切换到其他临时分支,然后将其切换回,例如
git checkout origin/master -f
git checkout master -f
如果您不关心本地更改,请尝试将其重置为 HEAD(原始状态),例如
git reset HEAD --hard
如果上述方法无济于事,则可能是您的 git 规范化文件( .gitattributes
)中的规则,因此最好提交其内容。或者您的文件系统不支持权限,因此您必须在 git config 中filemode