如何忽略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>
您可以使用下面的方法忽略/不忽略跟踪文件中的更改。
- 对于忽略:
git update-index --assume-unchanged <file>
- 恢复被忽略的文件:
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行音乐 。
- git存储
- 混帐拉
- 混帐隐藏stream行
第3步有时会触发合并,可能会导致需要解决的冲突,这是一件好事。
这使我能够保持与团队中其他人不共享的本地更改。
我有类似的问题与文件“dump.rdb”
当我添加到.gitignore文件的各种组合,它没有工作。
解:
添加你的文件名,在.gitignore文件的末尾
只有那么它的作品。
在中间添加将无法正常工作。
示例:请参阅: https : //gitlab.com/gitlab-org/gitlab-ce/raw/b3ad3f202478dd88a3cfe4461703bc3df1019f90/.gitignore