如何忽略git中的某些文件?

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

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

我想知道如何让git忽略Hello.class

问题是.gitignore忽略之前未被跟踪的文件(通过git add )。 运行git reset name_of_file来取消保存文件并保留它。 如果你还想从库中删除给定的文件(推后),使用git rm --cached name_of_file

如何忽略新文件

在全球范围内

将path添加到您要忽略的.gitignore文件(并提交它们)的文件中。 这些文件条目也适用于检查回购的其他人。

本地

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

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

为了忽略被修改的文件,你可以使用下面的git命令:

 git update-index --assume-unchanged <file> 

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

 git update-index --no-assume-unchanged <file> 

将以下行添加到.gitignore:

 /Hello.class 

这将从git中排除Hello.class。 如果您已经提交,请运行以下命令:

 git rm Hello.class 

如果要从git中排除所有类文件,请将以下行添加到.gitignore:

 *.class 

1)创build一个.gitignore文件,这样做,你只需创build一个.txt文件,改变扩展如下:

在这里输入图像描述

然后你必须改变在cmd上写下面这一行的名字:

  rename git.txt .gitignore 

git.txt是刚创build的文件的名称。

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

 #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 # Office Temp Files ~$* 

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

然后在你的git bash中,你必须写下面这行:

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

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

 1)git rm -r --cached . 2)git add . 3)git commit -m ".gitignore is now working" 

如果第2步不起作用,那么你应该写出你想添加的文件的空洞path。

希望它有帮助!

忽略:

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

撤消忽略:

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

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

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

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

 *.o .*.swp 

你应该写一些类似的东西

 *.class 

到您的.gitignore文件中。

通过创build一个.gitignore文件。 看到这里的细节: Git Book – 忽略文件

另外检查一下: 如何让Git不使用.gitignore忽略文件?

添加到.gitignore,你想忽略哪些文件

*。类

* .projects

* .prefs

*。项目

从官方GitHub站点:

如果你已经有一个文件签入了,而你想忽略它,如果你稍后添加一个规则,Git不会忽略这个文件。 在这种情况下,您必须先在terminal中运行以下命令,以解除文件夹:

 git rm --cached FILENAME 

要么

 git rm --cached . 

您也可以使用.gitattributes(而不是.gitignore)来排除整个文件types。 该文件是不言自明的,但我粘贴在这里的内容作为参考。 注意最后一行(* .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的文件夹和configuration文件)的特定文件/文件夹。

将以下行添加到.git / info / exclude:
同学们好

我已经尝试过--assume-unchanged ,也是.gitignore但都没有成功。 他们很难转换分支,很难合并其他人的更改。 这是我的解决scheme:

当我提交时 ,我手动删除更改列表的文件

在我之前,我藏起了更改的文件。 拉后,我做了一个藏匿的stream行音乐

  1. git存储
  2. 混帐拉
  3. 混帐隐藏stream行

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

这使我能够保持与团队中其他人不共享的本地更改。

我有类似的问题与文件“dump.rdb”

当我添加到.gitignore文件的各种组合,它没有工作。

解:

添加你的文件名,在.gitignore文件的末尾
只有那么它的作品。
在中间添加将无法正常工作。

示例:请参阅: https : //gitlab.com/gitlab-org/gitlab-ce/raw/b3ad3f202478dd88a3cfe4461703bc3df1019f90/.gitignore