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

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

如何让Git忽略Hello.class?


你应该这样写

*.class

到你的。gitignore文件。


在.gitignore文件中添加以下行:

/Hello.class

这将从Git中排除Hello.class。如果已经提交,则执行以下命令:

git rm Hello.class

如果你想从Git中排除所有类文件,在.gitignore中添加以下行:

*.class

在.git所在的目录下创建一个.gitignore文件。您可以在其中以换行符分隔列出文件。你也可以使用通配符:

*.o
.*.swp

通过创建一个.gitignore文件。参见这里的详细信息:Git书-忽略文件

还可以看看这个:如何在不使用.gitignore的情况下让Git忽略文件?


问题是.gitignore忽略了之前没有跟踪的文件(git add)。执行git reset name_of_file命令取消该文件并保留它。如果你也想从存储库中删除给定的文件(在推送之后),请使用git rm——cached name_of_file。


您可以使用下面的方法来忽略/不忽略跟踪文件中的更改。

对于忽略:git update-index——assume-unchanged <file> 用于恢复被忽略的文件:git update-index——no-assume-unchanged <file>


如何忽略新文件

在全球范围内

将你想忽略的路径添加到你的.gitignore文件中(并提交它们)。这些文件条目也将应用于其他签出存储库的文件。

在本地

将你想忽略的路径添加到你的.git/info/exclude文件中。这些文件条目将只应用于您的本地工作副本。

如何忽略已更改的文件(临时)

为了忽略已更改的文件,将其列为已修改,您可以使用以下git命令:

git update-index --assume-unchanged <file1> <file2> <file3>

要恢复这种无知,请使用以下命令:

git update-index --no-assume-unchanged <file1> <file2> <file3>

在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步不起作用,那么您应该编写想要添加的文件的整个路由。


忽略:

git update-index --assume-unchanged <path/to/file>

取消忽略:

git update-index --no-assume-unchanged <path/to/file>

您还可以使用.gitattributes(而不是.gitignore)来排除整个文件类型。该文件是不言自明的,但我将内容粘贴在这里以供参考。注意最后一行(*.class二进制):

# Denote all files that are truly binary and should not be modified.
*.png binary
*.jpg binary
*.gif binary
*.ico binary
*.mo binary
*.pdf binary
*.phar binary
*.class binary

在使用.gitignore时,此网页可能有用并节省时间。

它会自动为不同的ide和操作系统生成.gitignore文件,其中包含您通常不想拉到Git存储库中的特定文件/文件夹(例如,特定于ide的文件夹和配置文件)。


将你想忽略的文件添加到文件.gitignore中:

* . class

* . project

* .prefs

* . project


来自GitHub官方网站:

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

git rm --cached FILENAME

or

git rm --cached .

在.git/info/exclude中添加以下行: Hello.class


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

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

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

git藏 git拉 Git隐藏pop

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

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


我有类似的问题与文件“dump.rdb”。 我尝试以各种方式将该文件添加到.gitignore文件中,但只有一种方式有效。

在.gitignore文件的末尾添加您的文件名

注意:在其他任何地方添加文件都不起作用。

例如:https://gitlab.com/gitlab-org/gitlab-ce/raw/b3ad3f202478dd88a3cfe4461703bc3df1019f90/.gitignore


如果您已经提交了文件,并且试图通过添加到.gitignore文件来忽略它,Git将不会忽略它。为此,你首先要做以下事情:

git rm --cached FILENAME

如果你刚开始项目,你想添加一些文件到Git忽略,按照下面的步骤创建一个Git忽略文件:

导航到Git存储库。 输入“touch .gitignore”,这将创建一个。gitignore文件。


我试过这个

列出我们要忽略的文件 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目录执行了这个命令。


转到.gitignore文件并添加您想要忽略的文件的条目 执行命令git rm -r——cached。 现在运行git add。


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

.class or .o

Use:

git reset filename
git rm --cached filename

然后添加您想要忽略的文件。然后提交并推送到存储库。


首先创建一个.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文件中。


你也可以使用Sourcetree,在你添加到分支并修改过的文件上按下rmb,然后选择“停止跟踪”。这个文件现在将被指定为一个问号图标,当你再次在这个文件上rmb时,你现在可以选择“忽略”。这将通过相对路径将特定文件添加到gitgnore中。


直接来自Atlassian: .gitignore

如果您希望忽略过去提交的文件,则需要从存储库中删除该文件,然后为其添加.gitignore规则。

在git rm中使用——cached选项意味着该文件将从存储库中删除,但它将作为一个被忽略的文件保留在工作目录中。

您的工作目录中仍然应该有该文件,但它将无法推送到远程存储库,除非您强制执行。


如果之前添加了任何文件到Git中,那么删除该文件并在.gitignore中添加该文件。

示例:如果有麻烦忽略包。在添加SPM依赖项时生成的解析文件。

我添加了以下行到我的.gitignore文件:

Packages/
Package.pins
Package.resolved
*.xcworkspace

并拆下了包裹。解决文件。 现在Git开始忽略我的包。解决文件。


您可能遇到的一种情况是.gitignore不会忽略您之前提交的文件。您应该首先从存储库中删除或移动这些文件,提交刚才所做的更改,然后将“*.class”添加到.gitignore。


如果你想忽略一个已经签入的文件,你必须在添加一个规则来忽略它之前取消跟踪该文件:

git rm --cached FILENAME

现在提交更改并将文件路径添加到.gitignore文件。


在文件.gitignore中添加以下行:/<file_name>如果你想从GIT中排除所有类文件,在.gitignore中添加以下行:*<file_extension>


如果您想忽略某些文件,请执行以下步骤

进入位于工作目录中的.git文件夹。 进入“info”文件夹。 您将找到一个名为“exclude”的文件。 将要忽略的文件名添加到该文件中。

如果你的目录中没有。git文件夹,在文件资源管理器视图面板中检查Hidden-item字段。