我有一个存储库文件,Hello.java。当我编译它时,会生成一个额外的Hello.class文件。
我在.gitignore文件中为Hello.class创建了一个条目。然而,该文件似乎仍然被跟踪。
如何让Git忽略Hello.class?
我有一个存储库文件,Hello.java。当我编译它时,会生成一个额外的Hello.class文件。
我在.gitignore文件中为Hello.class创建了一个条目。然而,该文件似乎仍然被跟踪。
如何让Git忽略Hello.class?
当前回答
来自GitHub官方网站:
如果您已经签入了一个文件,并且希望忽略它,那么如果您稍后添加规则,Git将不会忽略该文件。在这些情况下,您必须首先取消跟踪文件,通过运行以下命令在您的终端:
git rm --cached FILENAME
or
git rm --cached .
其他回答
来自GitHub官方网站:
如果您已经签入了一个文件,并且希望忽略它,那么如果您稍后添加规则,Git将不会忽略该文件。在这些情况下,您必须首先取消跟踪文件,通过运行以下命令在您的终端:
git rm --cached FILENAME
or
git rm --cached .
首先创建一个.gitignore文件,我们必须在其中存储要忽略的文件和目录的名称。
忽略一个目录;
name_of_directory/
忽略文件;
name_of_file
我们不需要提供要忽略的文件或目录的完整路径;我们只需要提供它的名字。
如果你想忽略所有具有相同扩展名的文件;
*.pyc #will ignore all files with pyc extention
此外,上述内容仅在未将文件添加到Git时才会第一次起作用。但是,如果我的错误是您向Git添加了一个文件,现在您希望在其余的提交中忽略它,您需要首先通过运行以下命令清除关于该文件的Git缓存;
git rm -r --cached <path_of_the_file>
其余部分是相同的,即将名称添加到.gitignore文件中。
我有类似的问题与文件“dump.rdb”。 我尝试以各种方式将该文件添加到.gitignore文件中,但只有一种方式有效。
在.gitignore文件的末尾添加您的文件名
注意:在其他任何地方添加文件都不起作用。
例如:https://gitlab.com/gitlab-org/gitlab-ce/raw/b3ad3f202478dd88a3cfe4461703bc3df1019f90/.gitignore
在使用.gitignore时,此网页可能有用并节省时间。
它会自动为不同的ide和操作系统生成.gitignore文件,其中包含您通常不想拉到Git存储库中的特定文件/文件夹(例如,特定于ide的文件夹和配置文件)。
问题是.gitignore忽略了之前没有跟踪的文件(git add)。执行git reset name_of_file命令取消该文件并保留它。如果你也想从存储库中删除给定的文件(在推送之后),请使用git rm——cached name_of_file。