git文件忽略和打包

原创
2014/06/26 13:22
阅读数 262

<h1 style="margin: 0px; padding: 0.25em 0px 0px; -webkit-print-color-adjust: exact; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-top-style: none; font-size: 23px; font-family: helvetica, arial, freesans, clean, sans-serif; line-height: 18px;">一、git文件忽略</h1> <blockquote style="margin: 1em 0px; padding: 0px 0px 0px 0.6em; -webkit-print-color-adjust: exact; border-left-width: 5px; border-left-color: #dddddd; color: #555555; font-family: helvetica, arial, freesans, clean, sans-serif; font-size: 13px; line-height: 18px;"> <p style="margin: 1em 0px; padding: 0px; -webkit-print-color-adjust: exact; line-height: 1.5em;">整个文章参考了《git权威指南》 对于不想提交到版本库中的文件或者目录,git提供了文件忽略的功能</p> </blockquote> <h3 style="margin: 1em 0px; padding: 0px; -webkit-print-color-adjust: exact; border: 0px; font-family: helvetica, arial, freesans, clean, sans-serif; line-height: 18px;">1、全局式“独享式”忽略</h3> <blockquote style="margin: 1em 0px; padding: 0px 0px 0px 0.6em; -webkit-print-color-adjust: exact; border-left-width: 5px; border-left-color: #dddddd; color: #555555; font-family: helvetica, arial, freesans, clean, sans-serif; font-size: 13px; line-height: 18px;"> <p style="margin: 1em 0px; padding: 0px; -webkit-print-color-adjust: exact; line-height: 1.5em;">与之对应,就是版本库传递的时候,也会出现在他人的工作区,并同时生效</p> </blockquote> <pre style="margin: 1em 0px; padding: 5px; -webkit-print-color-adjust: exact; font-size: 12px; line-height: 18px; font-family: Monaco, 'Courier New', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; background-color: #eeeeee; border: 1px solid #dddddd; color: #444444; overflow: auto; -webkit-box-shadow: rgba(0, 0, 0, 0.0666667) 0px 1px 2px inset; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;"><code style="margin: 0px; padding: 0px; -webkit-print-color-adjust: exact; line-height: normal; font-family: Monaco, 'Courier New', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; border: none;">touch .gitignore git add .gitignore git commit -m "add .gitignore" </code></pre> <pre style="margin: 1em 0px; padding: 5px; -webkit-print-color-adjust: exact; font-size: 12px; line-height: 18px; font-family: Monaco, 'Courier New', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; background-color: #eeeeee; border: 1px solid #dddddd; color: #444444; overflow: auto; -webkit-box-shadow: rgba(0, 0, 0, 0.0666667) 0px 1px 2px inset; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;"><code style="margin: 0px; padding: 0px; -webkit-print-color-adjust: exact; line-height: normal; font-family: Monaco, 'Courier New', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; border: none;">Git忽略语法: <br />1、以#开始的行会被忽略 <br />2、可以使用多种通配符 <br />3、如果名称的最前面是一个路径分隔符(/),表明要忽略的文件在此目录下,而非子目录的文件 <br />4、如果名称的最后面是一个路径分隔符(/),表明忽略的是整个目录,同名文件不忽略,否则同名的文件和目录都忽略 <br />5、通过在名称的最前面添加一个感叹号(!),代表不忽略 <br /><br />举例: <br />*.a #忽略所有 .a 结尾的文件 <br />!lib.a #但 lib.a 除外 <br />/TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO <br />build/ # 忽略 build/ 目录下的所有文件 <br />doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt </code></pre> <ul style="margin: 1em 0px 1em 2em; padding: 0px; -webkit-print-color-adjust: exact; font-family: helvetica, arial, freesans, clean, sans-serif; font-size: 13px; line-height: 18px;"> <li style="margin: 0.5em 0px; padding: 0px; -webkit-print-color-adjust: exact;">.gitignore可以放在任何目录中</li> <li style="margin: 0.5em 0px; padding: 0px; -webkit-print-color-adjust: exact;">忽略只能针对未跟踪文件有效,对于已经加入版本库的文件无效</li> <li style="margin: 0.5em 0px; padding: 0px; -webkit-print-color-adjust: exact;">当一个早期的gitignore文件已经commit了之后,那么修改了gitignore文件之后,需要重新清下缓存,命令:git rm -r --cached ignore_file</li> </ul> <h3 style="margin: 1em 0px; padding: 0px; -webkit-print-color-adjust: exact; border: 0px; font-family: helvetica, arial, freesans, clean, sans-serif; line-height: 18px;">2、本地“独享式”忽略</h3> <blockquote style="margin: 1em 0px; padding: 0px 0px 0px 0.6em; -webkit-print-color-adjust: exact; border-left-width: 5px; border-left-color: #dddddd; color: #555555; font-family: helvetica, arial, freesans, clean, sans-serif; font-size: 13px; line-height: 18px;"> <p style="margin: 1em 0px; padding: 0px; -webkit-print-color-adjust: exact; line-height: 1.5em;">这种忽略,在版本库传递的时候,比如克隆的时候,不会因为出现在他人的工作区导致忽略他人工作区中的文件</p> </blockquote> <pre style="margin: 1em 0px; padding: 5px; -webkit-print-color-adjust: exact; font-size: 12px; line-height: 18px; font-family: Monaco, 'Courier New', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; background-color: #eeeeee; border: 1px solid #dddddd; color: #444444; overflow: auto; -webkit-box-shadow: rgba(0, 0, 0, 0.0666667) 0px 1px 2px inset; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;"><code style="margin: 0px; padding: 0px; -webkit-print-color-adjust: exact; line-height: normal; font-family: Monaco, 'Courier New', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; border: none;">git config --global core.excludesfile ./.gitignore <br /> \\这个文件可以存放在任何位置 </code></pre> <h1 style="margin: 1.5em 0px 0px; padding: 0.5em 0px 0px; -webkit-print-color-adjust: exact; border-width: 4px 0px 0px; border-top-style: solid; border-top-color: #aaaaaa; font-size: 23px; font-family: helvetica, arial, freesans, clean, sans-serif; line-height: 18px;">二、git打包</h1> <blockquote style="margin: 1em 0px; padding: 0px 0px 0px 0.6em; -webkit-print-color-adjust: exact; border-left-width: 5px; border-left-color: #dddddd; color: #555555; font-family: helvetica, arial, freesans, clean, sans-serif; font-size: 13px; line-height: 18px;"> <p style="margin: 1em 0px; padding: 0px; -webkit-print-color-adjust: exact; line-height: 1.5em;">采取其他打包工具将整个工作区打包,会把版本库等一些其他不必要的信息打包,git提供了一个打包命令</p> </blockquote> <pre style="margin: 1em 0px; padding: 5px; -webkit-print-color-adjust: exact; font-size: 12px; line-height: 18px; font-family: Monaco, 'Courier New', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; background-color: #eeeeee; border: 1px solid #dddddd; color: #444444; overflow: auto; -webkit-box-shadow: rgba(0, 0, 0, 0.0666667) 0px 1px 2px inset; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;"><code style="margin: 0px; padding: 0px; -webkit-print-color-adjust: exact; line-height: normal; font-family: Monaco, 'Courier New', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; border: none;">#基于最新的提交进行打包 <br />git archive -o new.zip HEAD <br /><br />#基于tag进行打包,发布源码 <br />git archive --format=tar --prefix=1.0/ v1.0 | gzip &gt; test-1.0.tar.gz</code></pre>

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部