忽略服务器上的已更改文件?

时间:2014-09-12 12:06:30

标签: git

我有两台机器:dev和live。 在实时服务器上我更新了一个文件(配置文件)。 在开发服务器上我添加了一些新文件。

现在,当我在实时服务器上执行以下操作时:

git pull origin master

我收到一条消息,Í有一些未提交的文件,我不能拉。

但我不想用该文件更新存储库!

当我执行git stashgit reset hard(因此我可以使用git pull)时,实时服务器上的文件将从dev服务器更改为原始文件。我已经将文件添加到gitignore但是在我完成拉动后它仍然从开发服务器更新。 :(

我应该怎么做才能让live服务器上的文件不被dev?

中的文件更新

1 个答案:

答案 0 :(得分:1)

如果您想始终忽略该文件,可以尝试:

git update-index --assume-unchanged path/to/config/file

这告诉git忽略对该文件的更改。请记住,如果其他人更改了远程存储库中的文件并且您提取了更改,它仍然可以被覆盖。

听起来你需要(正如你所提到的)完全忽略存储库中的文件。在您将文件添加到.gitignore后,请尝试运行以下内容:

git rm -r --cached .

其次是:

git add --all

然后提交更改。这将从git存储库中删除该文件(它将保留在文件系统中,但不会再由git跟踪)。