Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.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
git如何在本地存储库中忽略修改过的文件,同时将其原始版本保留在远程存储库中_Git_File_Local_Ignore - Fatal编程技术网

git如何在本地存储库中忽略修改过的文件,同时将其原始版本保留在远程存储库中

git如何在本地存储库中忽略修改过的文件,同时将其原始版本保留在远程存储库中,git,file,local,ignore,Git,File,Local,Ignore,我克隆了一个包含特定文件的远程存储库。此文件要求我编辑并保留其版本,该版本必须与远程存储库中的版本不同。现在,我需要git忽略这个文件,同时在我git推送剩余文件时,仍然能够保持远程存储库中的文件不被触动 我已将该文件添加到.gitignore和.git/info/exclude中,但在运行git status时仍在跟踪该文件。我可以简单地运行git add.,然后删除不需要的文件,但这既不实用又麻烦 我对git比较陌生,所以我感谢您的时间和耐心。因为,您不能忽略对跟踪文件的更改。人们通常建议使

我克隆了一个包含特定文件的远程存储库。此文件要求我编辑并保留其版本,该版本必须与远程存储库中的版本不同。现在,我需要git忽略这个文件,同时在我
git推送剩余文件时,仍然能够保持远程存储库中的文件不被触动

我已将该文件添加到.gitignore和.git/info/exclude中,但在运行
git status
时仍在跟踪该文件。我可以简单地运行
git add.
,然后删除不需要的文件,但这既不实用又麻烦

我对git比较陌生,所以我感谢您的时间和耐心。

因为,您不能忽略对跟踪文件的更改。人们通常建议使用其中一个选项来
git更新索引
,但正如常见问题解答中所述,这不起作用

常见问题解答提出了一个解决方案:

如果您的目标是修改配置文件,那么将一个文件签入存储库通常会很有帮助,该存储库是一个模板或一组默认值,然后可以将这些模板或默认值与存储库一起复制并根据需要进行修改。第二个修改过的文件通常会被忽略,以防止意外提交


这是您所能做到的最好的方法,也是Git开发人员推荐的方法。如果您控制远程存储库,则应进行此更改。如果没有,请让所有者进行更改,并将其指向FAQ条目。

这是否回答了您的问题?我已经链接到规范副本,但正确的解决方案如下面bk2204所述-不跟踪必须编辑的文件。更一般地说:不要将配置存储在与代码相同的repo中,这可能是一个有用的参考。