我有一个存储库文件,Hello.java。当我编译它时,会生成一个额外的Hello.class文件。
我在.gitignore文件中为Hello.class创建了一个条目。然而,该文件似乎仍然被跟踪。
如何让Git忽略Hello.class?
我有一个存储库文件,Hello.java。当我编译它时,会生成一个额外的Hello.class文件。
我在.gitignore文件中为Hello.class创建了一个条目。然而,该文件似乎仍然被跟踪。
如何让Git忽略Hello.class?
当前回答
在.git/info/exclude中添加以下行: Hello.class
其他回答
我已经尝试了-假设-不变和。gitignore,但都没有工作得很好。它们使得切换分支和合并来自其他分支的变更变得困难。这是我的解决方案:
提交时,我手动从更改列表中删除这些文件
在我取出之前,我会把修改过的文件藏起来。抽完之后,我再抽一次。
git藏 git拉 Git隐藏pop
步骤3有时会触发合并,并可能导致需要解决的冲突,这是一件好事。
这允许我保留不与团队中的其他人共享的本地更改。
如果你想忽略一个已经签入的文件,你必须在添加一个规则来忽略它之前取消跟踪该文件:
git rm --cached FILENAME
现在提交更改并将文件路径添加到.gitignore文件。
在.gitignore文件中添加以下行:
/Hello.class
这将从Git中排除Hello.class。如果已经提交,则执行以下命令:
git rm Hello.class
如果你想从Git中排除所有类文件,在.gitignore中添加以下行:
*.class
首先创建一个.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文件中。
来自GitHub官方网站:
如果您已经签入了一个文件,并且希望忽略它,那么如果您稍后添加规则,Git将不会忽略该文件。在这些情况下,您必须首先取消跟踪文件,通过运行以下命令在您的终端:
git rm --cached FILENAME
or
git rm --cached .