Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.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_Gitignore - Fatal编程技术网

如何忽略git中的单个文件?

如何忽略git中的单个文件?,git,gitignore,Git,Gitignore,如上所述 以下是.gitignore(位于项目主文件夹中)的内容 以下是我在进行更改时使用的步骤: 编辑.gitignore 承诺 编辑文件-im-trying-to-ignore.txt 我做错了什么 我在对.gitignore进行更改后提交了回购协议,然后对文件-im-trying-to-ignore.txt进行了更改 我使用这两个站点作为参考: 谢谢您是否尝试过使用git reset取消对文件的跟踪 您的文件是否已编制索引。gitignore只影响未被Git索引(暂存或提交)的

如上所述

以下是.gitignore(位于项目主文件夹中)的内容

以下是我在进行更改时使用的步骤:

  • 编辑.gitignore
  • 承诺
  • 编辑文件-im-trying-to-ignore.txt
我做错了什么

我在对.gitignore进行更改后提交了回购协议,然后对文件-im-trying-to-ignore.txt进行了更改

我使用这两个站点作为参考:


谢谢

您是否尝试过使用git reset取消对文件的跟踪

您的文件是否已编制索引。gitignore只影响未被Git索引(暂存或提交)的文件

如果您的文件只是暂存的,以前从未提交过-您应该使用
git解除暂存文件,重置\u文件的头


或者,如果您的文件以前提交过,因此在Git中建立了索引,那么您应该使用
Git rm——缓存您的_文件
,将其从索引中删除,然后提交。然后.gitignore生效。从缓存中删除文件时,从.gitignore中清除该文件,然后将其添加回存储库。

如果该文件已提交并推送到存储库,则必须取消对要添加到
的文件的跟踪。gitignore
,然后
。gitignore
仅对未跟踪的文件有效。要取消跟踪文件,请运行以下命令:

// untrack all files
$ git rm -r --cache

// untrack one specific file
$ git rm --cache filename.txt

取消跟踪文件后,您可以添加(
git add.
),提交(
git commit-m)。gitignore现在忽略文件“
)并将其推送(
git push
)到您的存储库中。

可能需要很长时间,但请尝试研究文件的编码-我在这方面遇到了很长时间的问题-它根本无法正常工作。事实证明,我有一些粗野的编码(比任何UTF或Unicode都要好),git无法正确理解这些编码。确保设置为UTF-8是否有帮助?@axiac为我修复了它。你能不能留下这个作为回答,这样我就可以接受了?谢谢。你有我可以使用的示例命令吗?我以前没有在这种情况下使用git reset。谢谢。Git reset可能在这两种情况下都会使用适当的标志(
--soft
--medium
--hard
)。我没有这样使用它,但我记得,它将重置整个提交,并且从最新的返回,而不是单个文件。标记只指定要在工作树中保留或删除的更改。是的,您是正确的:)忘记了这一点。
// untrack all files
$ git rm -r --cache

// untrack one specific file
$ git rm --cache filename.txt