2017-08-09 17 views
0

以前,我曾經提交過WordPress'wp-config.php;從那以後,我現在忽略了這個文件在.gitignore,這很好。Git:忽略一個文件,現在說有沒有合併的文件,不能拉動

不幸的是 - 現在拉活時,它提供了這樣的錯誤:

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手動上傳實際文件,這導致了這個新錯誤。

我想保持活動服務器上的文件處於當前狀態,但現在和將來都會解決此錯誤。

什麼是能夠用這個拉最新變化的過程?

+1

你想從本地服務器上獲取所有文件嗎?或者相反呢?檢查這個問題 - https://stackoverflow.com/questions/1125968/how-do-i-force-git-pull-to-overwrite-local-files –

回答

2

UPDATE - 我加入一個答案,在意見中提出的問題,並澄清了有關的話


首先讓我們澄清一點困惑:這個錯誤無關,與把文件在.gitignore。實際上,由於該文件存在於索引中,所以.gitignore對文件沒有任何影響。

Before this issue happened, I had an issue with pulling where it said I had uncommitted changes with these files - so I let it overwrite them

你可能需要對你發出,你所看到的輸出什麼命令更加清晰,因爲這是你的麻煩的來源。

當你說你「讓它覆蓋它們」時,這是什麼意思? git光刻膠覆蓋的局部變化(特別是未提交的修改)...

我猜測到底發生了什麼是混帳試圖從遠程回購更改合併到對這些文件的本地更改,但有合併上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條目可以幫助您避免意外重新引入文件。

如果你的意思是,文件應該是有的,但只有一個默認版本,應在回購(不採取任何可能在工作樹中所做的任何更改),git會那樣做。你必須得到一個不同的方式。例如,您可以將文件作爲wp-config.php.default作爲回購,並忽略wp-config.php路徑。克隆回購之後,您將複製默認文件,並且只對忽略的副本進行任何本地更改。

+0

將按照你提供的步驟把它放回到Git?我不希望在本地拉動wp-config.php時發生變化等。它應該保持原樣,不會被提交,只是完全忽略。 – JWDev

+0

@JWDev - 查看更新。 –