我有一个存储库文件,Hello.java。当我编译它时,会生成一个额外的Hello.class文件。

我在.gitignore文件中为Hello.class创建了一个条目。然而,该文件似乎仍然被跟踪。

如何让Git忽略Hello.class?


当前回答

来自GitHub官方网站:

如果您已经签入了一个文件,并且希望忽略它,那么如果您稍后添加规则,Git将不会忽略该文件。在这些情况下,您必须首先取消跟踪文件,通过运行以下命令在您的终端:

git rm --cached FILENAME

or

git rm --cached .

其他回答

你应该这样写

*.class

到你的。gitignore文件。

我已经尝试了-假设-不变和。gitignore,但都没有工作得很好。它们使得切换分支和合并来自其他分支的变更变得困难。这是我的解决方案:

提交时,我手动从更改列表中删除这些文件

在我取出之前,我会把修改过的文件藏起来。抽完之后,我再抽一次。

git藏 git拉 Git隐藏pop

步骤3有时会触发合并,并可能导致需要解决的冲突,这是一件好事。

这允许我保留不与团队中的其他人共享的本地更改。

对于编译后的代码,只需编写:

.class or .o

我试过这个

列出我们要忽略的文件 Git状态。idea/xyz.xml .idea/pqr。iml输出.DS_Store 复制步骤#1的内容并将其追加到.gitignore文件中。 Echo " .idea/xyz.xml .idea/pqr. xml "。iml Output .DS_Store" >> .gitignore . iml Output .DS_Store" >> .gitignore . iml 验证 Git状态。gitignore

同样地,我们可以使用directoryname/*在Git状态中添加一个目录及其所有我们想忽略的子目录和文件。我从src目录执行了这个命令。

在Windows上

创建一个.gitignore文件。要做到这一点,你只需要创建一个.txt文件,并更改扩展名如下:

然后你必须更改名称,在cmd窗口中写入以下一行:

 rename git.txt .gitignore

其中git.txt是刚刚创建的文件的名称。

然后,您可以打开该文件并将不想添加到存储库中的所有文件写入。例如,我的是这样的:

# OS junk files
[Tt]humbs.db
*.DS_Store

# Visual Studio files
*.[Oo]bj
*.user
*.aps
*.pch
*.vspscc
*.vssscc
*_i.c
*_p.c
*.ncb
*.suo
*.tlb
*.tlh
*.bak
*.[Cc]ache
*.ilk
*.log
*.lib
*.sbr
*.sdf
*.pyc
*.xml
ipch/
obj/
[Bb]in
[Dd]ebug*/
[Rr]elease*/
Ankh.NoLoad

# Tooling
_ReSharper*/
*.resharper
[Tt]est[Rr]esult*

# Project files
[Bb]uild/

# Subversion files
.svn

# Microsoft Office temporary files
~$*

一旦有了这个,就需要将它添加到Git存储库中。您必须将文件保存在存储库所在的位置。

然后在Git Bash中,你必须写下面这行代码:

git config --global core.excludesfile ~/.gitignore_global

如果存储库已经存在,那么您必须执行以下操作:

Git rm -r——cached。 Git添加。 Git commit -m”。Gitignore现在正在工作"

如果第2步不起作用,那么您应该编写想要添加的文件的整个路由。