Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress Git:忽略了一个文件,现在说有';s未合并的文件和can';t拉动_Wordpress_Git - Fatal编程技术网

Wordpress Git:忽略了一个文件,现在说有';s未合并的文件和can';t拉动

Wordpress Git:忽略了一个文件,现在说有';s未合并的文件和can';t拉动,wordpress,git,Wordpress,Git,之前,我已经提交了WordPress'wp config.php;从那时起,我现在在.gitignore中忽略了这个文件,这很好 不幸的是,现在当拉到live时,它提供了以下错误: 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&

之前,我已经提交了WordPress'
wp config.php
;从那时起,我现在在
.gitignore
中忽略了这个文件,这很好

不幸的是,现在当拉到live时,它提供了以下错误:

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'.
M.htaccess
U wp-config.php
无法拉取,因为您有未合并的文件。
请在工作树中修复它们,然后使用“git add/rm”
根据需要标记解析,或使用“git commit-a”。
在这个问题发生之前,我遇到了一个问题,它说我对这些文件有未提交的更改,所以我让它覆盖它们,然后我通过FTP手动上传了实际的文件,这导致了这个新的错误

我想在live server上保持文件的当前状态,但现在和将来都要避免此错误


利用此功能获取最新更改的过程是什么?

更新-我正在为评论中提出的问题添加答案,并澄清相关问题


首先,让我们澄清一点困惑:这个错误与将文件放入
.gitignore
无关。事实上,由于文件存在于索引中,
.gitignore
对文件没有任何影响

在这个问题发生之前,我有一个问题,它说我对这些文件有未提交的更改,所以我让它覆盖它们

您可能需要更清楚地了解发出的命令和看到的输出,因为这就是您的麻烦所在

当你说“让它覆盖它们”时,那是什么意思<代码>git阻止覆盖本地更改(尤其是未提交的更改)

我猜真正发生的是git试图将远程repo中的更改合并到这些文件的本地更改中,但在
wp config.php
上发生了合并冲突

而且很可能它仍处于合并状态,在继续之前,您必须先解决该问题。如果您说
git status
,它可能会告诉您正在合并,其中有些更改“要提交”(可能包括
.htaccess
文件)和一些“未合并的路径”(可能包括.php文件)

如果.php文件在工作树中的外观符合您的要求,那么可以说
git add wp config.php
,然后说
git commit
,这将导致合并完成。(更一般地说,您必须让文件在索引中看起来像您希望的那样,并以告诉git冲突已解决的方式执行此操作;然后您可以提交以退出合并状态。)

现在在评论中,您询问这是否会将文件“放回”git。这可以归结为“让.php文件按照您想要的方式显示”的含义

如果您永远不希望git提供.php文件(即使是在新的克隆过程中),那么您需要将其从索引中删除并随后提交

您可以(至少暂时)从工作树中删除该文件,然后执行
git add
(如上所述)。或者,如果不想影响工作树的版本,可以

git rm --cached wp-config.php
直接让索引看起来像“你想要它的样子”。此时,.gitignore条目可以帮助您避免意外地重新引入该文件


如果您的意思是文件应该在那里,但repo中只应该有一个默认版本(不接受工作树中可能进行的任何更改),那么git不会这样做。你必须以不同的方式到达你要去的地方。例如,您可以将文件作为
wp config.php.default
放在repo中,并忽略
wp config.php
路径。克隆repo后,您将复制默认文件,并且任何本地更改将仅对忽略的副本进行

更新-我正在为评论中提出的一个问题添加答案,并澄清一个相关问题


首先,让我们澄清一点困惑:这个错误与将文件放入
.gitignore
无关。事实上,由于文件存在于索引中,
.gitignore
对文件没有任何影响

在这个问题发生之前,我有一个问题,它说我对这些文件有未提交的更改,所以我让它覆盖它们

您可能需要更清楚地了解发出的命令和看到的输出,因为这就是您的麻烦所在

当你说“让它覆盖它们”时,那是什么意思<代码>git阻止覆盖本地更改(尤其是未提交的更改)

我猜真正发生的是git试图将远程repo中的更改合并到这些文件的本地更改中,但在
wp config.php
上发生了合并冲突

而且很可能它仍处于合并状态,在继续之前,您必须先解决该问题。如果您说
git status
,它可能会告诉您正在合并,其中有些更改“要提交”(可能包括
.htaccess
文件)和一些“未合并的路径”(可能包括.php文件)

如果.php文件在工作树中的外观符合您的要求,那么可以说
git add wp config.php
,然后说
git commit
,这将导致合并完成。(更一般地说,您必须让文件在索引中看起来像您希望的那样,并以告诉git冲突已解决的方式执行此操作;然后您可以提交以退出合并状态。)

现在在评论中,您询问这是否会将文件“放回”git。这可以归结为“让.php文件按照您想要的方式显示”的含义

如果您永远不希望git提供.php文件(即使是在新的克隆过程中),那么您需要将其从索引中删除并随后提交