git版本管理 .gitignore设置
来源:互联网 发布:屏幕投影软件 编辑:程序博客网 时间:2024/06/09 18:41
.gitignore格式
我们需要用到.gitignore以及.git/info/exclude,即不加入版本控制,在git根目录下建立.gitignore,具体设定如下:
tmp.txt //忽略tmp.txt*.log //忽略所有log文件tmp*.log //忽略log目录下的包括子目录下的所有log文件
其他的一些过滤条件,*其实就是正则表达式了
?:代表任意的一个字符*:代表任意数目的字符{!ab}:必须不是此类型{ab,bb,cx}:代表ab,bb,cx中任一类型即可[abc]:代表a,b,c中任一字符即可[ ^abc]:代表必须不是a,b,c中任一字符
由于git不会加入空目录,所以下面做法会导致tmp不会存在
tmp/* //忽略tmp文件夹所有文件
改下方法,在tmp下也加一个.gitignore,内容为
*!.gitignore
中止track
还有一种情况,就是已经commit了,再加入gitignore是无效的,我们可以删除版本库对文件的track
git rm --cached ignore_file
另外对文件夹内容的track
git rm --cached dir/ -r
最后当然要提交咯,但是这样相当于删除了版本库中的这个文件,但是本地保留,慎重!删除之后其他人clone下来就没有该文件了哦
git rm --cached ignore_file
这样就OK了么,当然不是。
已track的文件,又必须在版本库中保留,该如何ignore呢
首先我们要在.gitignore/exclude中进行上述操作忽略他们,但是这些文件已经包括在版本库,光是这样忽略是木有用的,有修改依然会有M标记
这时我们在本地clone完成后如下操作,即可忽略这些文件的版本更新:
git update-index --assume-unchanged PATH or FILE
另外重点说一下.
gitignore以及.git/info/exclude的区别
.gitignore
- 可以放到工作目录任何地方,以相对路径实施忽略;
- 可以提交到版本库,对所有clone下来的版本生效。 *所以个人特殊忽略不要在这里添加哦
.git/info/exclude
- 唯一,本地副本有效
- 不会提交到版本库,只对本地副本有效
~/.gitconfig/core.excludesfile #全局ignore方法
- 唯一,本地所有git repo有效
gitignore 优先级
它检查多个gitignore文件的模式,从高到低优先级通过下面规则确定。
来自于支持使用模式的命令行命令
来自于文件系统中的.gitignore文件。目录结构较高的.gitignore模式将被较近的.gitignore覆盖
来自$GIT_DIR/info/exclude
被配置变量core.excludesfile指定文件中的模式
Drupal 团队开发的.gitignore设置
这里抛砖引玉,介绍一下我们的做法,有错漏望指证
根目录下的.gitignore
sites/default/* #忽略该文件所有文件的改动sites/default/default.settings.php #保留default.* #忽略经常有的.setting .project等工程配置文件!.gitignore #保留对.gitignore的跟踪
个人不需要提交的文件,在.git/info/exclude 自行配置
完成clone后运行下列代码
git update-index --assume-unchanged sites/default/settings.php
有时候提交了一些东西,但后来想从公共版本库删除,并且本地需要保留的文件/目录,可以运行以下代码
git rm --cached file/[dir -r]
- git版本管理 .gitignore设置
- git中.gitignore设置
- git 设置 .gitignore文件注意事项
- git中关于文件是否加进版本控制管理库中的.gitignore文件配置
- .gitignore失效、git版本回退
- git版本控制之忽略规则.gitignore
- 【Unity】使用Git管理项目及其.gitignore
- 项目管理---git----遇到问题------.gitignore不起作用
- Git .gitignore 设置为全局global
- .gitignore设置git忽略特殊文件
- git gitignore
- Git 【.gitignore】
- Git .gitignore
- Git gitignore
- Git版本库使用.gitignore建立项目文件过滤规则
- 使用Git进行版本控制中得.gitignore使用
- 使用Git版本控制 .gitignore 忽略不需要提交的文件
- 使用Git版本控制 .gitignore 忽略不需要提交的文件
- 安装旧java se 6,os x yosemite phpstorm
- dedecms的data目录名称修改方法,data目录修改
- mysql alter修改列字段的长度类型名称详解
- 转载C语言指针
- git 本地忽略跟踪文件
- git版本管理 .gitignore设置
- OpenGL--点参数
- Cordys 给XForm input添加样式,input label 添加 *
- Java深入 - Java虚拟机 常用监控和故障处理工具
- 写给那些在技术路上奔跑的人们!!!!!加油!
- ADF 11g中文件上传配置
- Unity WebSocket
- 百度前端培训 task1
- Spring管理线程