以前,我有WordPress'wp-config.php
承诺;从那时起,我现在在.gitignore
中忽略了这个文件,这很好。
不幸的是 - 现在拉到现场时,它提供了这个错误:
M .htaccess
U wp-config.php
Pull is not possible because you have unmerged files.
Please, fix them up in the work tree, and then use 'git add/rm <file>'
as appropriate to mark resolution, or use 'git commit -a'.
在这个问题发生之前,我遇到了一个问题,就是它说我对这些文件进行了未提交的更改 - 所以我让它覆盖它们,然后我通过FTP手动上传实际文件,这导致了这个新错误。
我希望将文件保持在实时服务器上的当前状态,但现在和将来都会解决此错误。
使用此功能可以提取最新更改的过程是什么?
答案 0 :(得分:2)
更新 - 我在评论中提出问题的答案,并澄清相关要点
首先让我们澄清一点混淆:此错误与将文件放入.gitignore
无关。实际上,由于文件存在于索引中,.gitignore
对文件没有任何影响。
在这个问题发生之前,我遇到了一个问题,就是它说我对这些文件进行了未提交的更改 - 所以我让它覆盖它们
您可能需要更清楚自己发布的命令以及所看到的输出,因为这是您遇到麻烦的地方。
当你说你&#34;让它覆盖他们&#34;时,这是什么意思? git
拒绝覆盖本地更改(尤其是未提交的更改)...
我猜测实际发生的事情是git尝试将远程仓库中的更改合并到这些文件的本地更改中,但wp-config.php
上存在合并冲突。
并且很可能它仍然处于合并状态,在您继续前进之前,您必须解决这个问题。如果你说git status
它可能会告诉你你正在合并,有些变化会被提交并且#34; (可能包括.htaccess
文件)和一些&#34;未合并的路径&#34; (可能包括.php文件)。
如果.php文件在工作树中按照您希望的方式显示,那么您可以说git add wp-config.php
然后git commit
,这将导致合并完成。 (更一般地说,你必须让文件看起来如何在索引中找到它,并以告诉git解决冲突的方式执行此操作;然后你可以提交退出合并状态。)
现在你在评论中询问是否会将文件&#34;返回&#34;进入git。这归结为它意味着让.php文件看起来像你想要的那样&#34;。
如果您从不希望git提供.php文件(即使在新的克隆期间),那么您需要将其从索引和后续提交中删除。
您可以(至少暂时)从工作树中删除该文件,然后执行git add
(如上所述)。或者,如果您不想影响工作树版本,则可以
git rm --cached wp-config.php
直接使索引看起来&#34;你想要它&#34;。此时,您的.gitignore条目可以帮助您避免意外重新引入文件。
如果你的意思是文件应该在那里,但只有一个默认版本应该在repo中(不会在工作树中进行任何更改),git赢了&# 39;那样做。你必须得到以不同方式前往的地方。例如,您可以将文件放在repo中wp-config.php.default
并忽略wp-config.php
路径。克隆回购后,您将复制默认文件,并且只对被忽略的副本进行任何本地更改。