您的位置:首页 > 其它

git 打包和忽略文件的使用

2014-12-22 11:53 162 查看



一、git打包

采取其他打包工具将整个工作区打包,会把版本库等一些其他不必要的信息打包,git提供了一个打包命令

#基于最新的提交进行打包
git archive -o new.zip HEAD

#基于tag进行打包,发布源码
git archive --format=tar --prefix=1.0/ v1.0 | gzip > test-1.0.tar.gz



二、git文件忽略

整个文章参考了《git权威指南》 对于不想提交到版本库中的文件或者目录,git提供了文件忽略的功能


1、全局式“独享式”忽略

与之对应,就是版本库传递的时候,也会出现在他人的工作区,并同时生效

touch .gitignore git add .gitignore git commit -m "add .gitignore"

Git忽略语法:
1、以#开始的行会被忽略
2、可以使用多种通配符
3、如果名称的最前面是一个路径分隔符(/),表明要忽略的文件在此目录下,而非子目录的文件
4、如果名称的最后面是一个路径分隔符(/),表明忽略的是整个目录,同名文件不忽略,否则同名的文件和目录都忽略
5、通过在名称的最前面添加一个感叹号(!),代表不忽略

举例:
*.a #忽略所有 .a 结尾的文件
!lib.a #但 lib.a 除外
/TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/ # 忽略 build/ 目录下的所有文件
doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

.gitignore可以放在任何目录中
忽略只能针对未跟踪文件有效,对于已经加入版本库的文件无效
当一个早期的gitignore文件已经commit了之后,那么修改了gitignore文件之后,需要重新清下缓存,命令:git rm -r --cached ignore_file


2、本地“独享式”忽略

这种忽略,在版本库传递的时候,比如克隆的时候,不会因为出现在他人的工作区导致忽略他人工作区中的文件

git config --global core.excludesfile ./.gitignore
\\这个文件可以存放在任何位置



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  git