我有一个带有文件Hello.java
的存储库。 当我编译它时,会生成一个附加的Hello.class
文件。 java
我在.gitignore
文件中为Hello.class
建立了一个条目。 可是,该文件彷佛仍被跟踪。 git
如何使Git忽略Hello.class
? svn
您能够使用如下方法忽略/不忽略跟踪文件中的更改。 ui
git update-index --assume-unchanged <file>
git update-index --no-assume-unchanged <file>
如何忽略新文件 spa
全球范围 code
将要添加到您的文件的路径添加到.gitignore
文件中(并提交)。 这些文件条目也将适用于其余签出存储库的人。 xml
在本地 图片
将您要忽略的路径添加到您的.git/info/exclude
文件中。 这些文件条目仅适用于本地工做副本。 ip
如何忽略更改的文件(临时) cmd
为了忽略已更改的文件被列为已修改文件,能够使用如下git命令:
git update-index --assume-unchanged <file>
要恢复该无知状态,请使用如下命令:
git update-index --no-assume-unchanged <file>
1)建立一个.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 # Office Temp Files ~$*
一旦有了它,就须要将其添加到您的Git存储库中。 您必须将文件保存在存储库所在的位置。
而后,在Git Bash中,您必须编写如下行:
git config --global core.excludesfile ~/.gitignore_global
若是存储库已经存在,那么您必须执行如下操做:
git rm -r --cached .
git add .
git commit -m ".gitignore is now working"
若是第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