在 git 中忽略文件 gitignore 与 exclude

来源:互联网 发布:php查找字符串是否存在 编辑:程序博客网 时间:2024/06/04 19:11
一、在git中如想忽略掉某个文件或文件夹,不让提交到版本库中,可在仓库目录里添加个".gitignore"的文件,这个文件每一行保存了一个匹配的规则,如
# 此为注释 – 将被 Git 忽略*.a       # 忽略所有 .a 结尾的文件!lib.a    # 但 lib.a 除外/TODO     # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODObuild/    # 忽略 build/ 目录下的所有文件doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

二、git提供了一个全局的.gitignore,你可以在你的用户目录下创建 ~/.gitignoreglobal 文件,以同样的规则来划定哪些文件是不需要版本控制的。需要执行“git config --global core.excludesfile ~/.gitignoreglobal”来使得它生效。这里有一个例子:

# Compiled source ####################*.com*.class*.dll*.exe*.o*.so# Packages ############## it's better to unpack these files and commit the raw source# git has its own built in compression methods*.7z*.dmg*.gz*.iso*.jar*.rar*.tar*.zip# Logs and databases #######################*.log*.sql*.sqlite# OS generated files #######################.DS_Store.DS_Store?._*.Spotlight-V100.TrashesIcon?ehthumbs.dbThumbs.db

三、git还提供了另一种排出的方式来做同样的事情,即在.git/info/exclude这里设置的你要排出的文件。他不会影响到其他人,也不会提交到版本库中去。请注意与第一种方法的区别!

四、.gitignore 还有个有意思的小功能,一个空的 .gitignore 文件可以当作是一个placeholder。如当你需要为项目创建一个空的log目录时,这就变的很有用。使用方法:创建一个log目录在里面放置一个空的.gitignore文件,当你clone这个repo的时候git会自动的创建好一个空的log目录了。


补充:
1、如果已经git add之后想删除某条记录,可以使用git rm来从记录文件里删除记录避免被commit执行。
2、删除以前提交的commit,可push push -f origin。


参考资料:
1、在 git 中忽略文件 gitignore 与 exclude


原创粉丝点击