忽略git中不需要进行版本管理的文件

在git中我们提交项目的时候有很多东西是不需要进行版本管理的,因此我们需要忽略掉。

虽然在github2.0的windows客户端提供了工具,但是这个工具并不是想象中的那么好用。

在上面点右键出现的Discard changes只能忽略掉一个文件,如果想忽略掉一个文件夹里的所有文件,这样点下去还不累死?

为了解决这个问题,我们还是用命令行来做,其实很简单,就用到一个命令,git status。我们打开桌面上的Git shell图标

他的用法与windows的命令行基本是一样的。跳转到要忽略文件夹的根目录,然后输入git status可以看到哪些文件和文件夹未同步

这时候我们可以在这个目录下新建.gitignore文件,来添加想要忽略的文件和文件夹,可以新建记事本,然后把文件名改为.gitignore,同时也可以使用命令touch .gitignore

建好文件后用记事本打开,添加以下文字

这样就忽略掉了bin和gen这两个文件夹

要想忽略某种类型的文件就可以加入

*.[so]

*.[dll]等

也可以取反。具体规则如下:

文件.gitignore的格式规范:
A:#为注释   
B:可以使用shell所使用的正则表达式来进行模式匹配   
C:匹配模式最后跟"/"说明要忽略的是目录 
D:使用!取反(例如目录中包含  test.a,并且gitignore文件中包含  *.[oa],如果在文件中加入 !test.a   表明忽略除test.a文件以外的后缀名为.a或者.o的文件)

从今天开始计划更新我的github了,

我的github地址:https://github.com/dongweiq/study

欢迎关注,欢迎star o(∩_∩)o 。有什么问题请邮箱联系 [email protected] qq714094450

时间: 2024-08-29 00:09:09

忽略git中不需要进行版本管理的文件的相关文章

彻底删除git中的较大文件(包括历史提交记录)

2019年04月15日 15:47:31 HappyRocking 阅读数 395更多 分类专栏: linux 版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/HappyRocking/article/details/89313501 场景 适用于从一个git项目中,将体积较大的资源彻底从git中删除,包括历史提交记录. 如果仅仅在目录中删除一个文件是不够的,只要在提交记录中有这个文件,那

git中忽略文件权限或文件拥有者的改变

在发布项目到线上时,很多时候需要修改文件的权限,如果是使用git版本管理软件来发布的话,那么下次更新线上文件的时候就会提示文件冲突.明明文件没有修改,为什么会冲突呢?原来git把文件权限也算作文件差异的一部分.下面笔者自己做了个简单的例子来演示这种情况. 1.修改版本库的文件的权限,然后使用diff查看下改变. $ chmod 777 pack.php $ git diff pack.php git文件权限修改示例 可以看到git把文件权限也列入了版本管理. 2.在另外一个地方clone这个版本

使用 .gitignore 忽略 Git 仓库中的文件

.gitignore 在Git中,很多时候你只想将代码提交到仓库,而不是将当前文件目录下的文件全部提交到Git仓库中,例如在MacOS系统下面的.DS_Store文件,或者是Xocde的操作记录,又或者是pod库的中一大串的源代码.这种情况下使用.gitignore就能够在Git提交时自动忽略掉这些文件. 忽略的格式 # :此为注释 – 将被 Git 忽略 *.a :忽略所有 .a 结尾的文件 !lib.a : 不忽略 lib.a 文件 /TODO :仅仅忽略项目根目录下的 TODO 文件,不包

git中如何忽略文件上传?

使用原因:至于我们为什么要使用git忽略文件,原因很多.就比如我自己的情况吧!自己一个人多地方开发,为了代码同步,这样很方便.但是有个问题就是,我创建 的是开源项目,上面有一些服务器上面的配置信息,这不是全部暴露出去了,多不安全的.便开始使用这种方法.同时,我们在我们的团队开发中,也为了避免一些配 置文件多次上传到服务器上面.例如我们在本地开发,每个人的mysql密码不一致,每次每个人提交上去,岂不是每次这个 数据配置文件都要被提交并被修改一次,多麻烦.(至于git还有其他的作用,望大家在评论区

Git中.gitignore文件不起作用的解决以及Git中的忽略规则介绍

在Studio里使用Git管理代码的过程中,可以修改.gitignore文件中的标示的方法来忽略开发者想忽略掉的文件或目录,如果没有.gitignore文件,可以自己手工创建.在.gitignore文件中的每一行保存一个匹配的规则例如: 1 2 3 4 5 6 7 # 此为注释 – 将被 Git 忽略 *.a       # 忽略所有 .a 结尾的文件 !lib.a    # 但 lib.a 除外 /TODO     # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO b

git中.gitignore 文件

现在项目的根目录放了 .gitignore 文件,并且git远程仓库的项目根目录已经有了 logs文件夹. 由于每次本地运行项目,都会生成新的log文件,但是我并不想提交logs文件夹里面的内容,所以要在.gitignore写logs的规则. 我尝试过添加以下规则 logs/*.log logs/ /logs/ 但是运行git status的时候,始终能看到modified:logs/xx.log . 请问是我的规则编写错误,还是我某个地方有理解错误? 回答一: tl;dr: 正确的做法应该是:

git中避免提交.DS_Store文件[转载]

1. 先删除原有的.DS_Store: find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch 命令解释:在当前文件夹以及当前文件夹的子文件夹中找到所有的.DS_Store文件,并将找到的文件通过管道传给xargs来处理.注意几个参数的理解: -print0:在find后不添加换行符(-print默认会添加换行符) -0:将管道送来的字符串当做普通的字符串,不做任何转义处理. 2. 建立.gitignore文件 v

Git中三种文件状态及其转换

Git作为一种版本控制解决方案,由于其具有的分布式特性,正被越来越多的用户熟知,一些有名的开源项目,如:Linux kernel,CakePHP,Ruby on Rails等,都在使用Git进行版本管理. 在Git中,文件状态是一个非常重要的概念,不同的状态对应不同的操作.因此,要想熟练掌握Git的用法,需要了解Git的几种文件状态. 为了说明的方便,现在初始化一个项目,也就是将项目所在目录纳入Git的管理之下.假设项目目录为hello_world,初始化之后,在目录下新建README.txt文

git中使用.gitignore文件

在进行协作开发代码管理的过程中,常常会遇到某些临时文件.配置文件.或者生成文件等,这些文件由于不同的开发端会不一样,如果使用git add . 将所有文件纳入git库中,那么会出现频繁的改动和push,这样会引起开发上的不便. Git可以很方便的帮助我们解决这个问题,那就是建立项目文件过滤规则. git中提供两种过滤机制,一种是全局过滤机制,即对所有的git都适用:另一种是针对某个项目使用的过滤规则.个人倾向于第二种. 以我的一个项目为例,该项目用.net开发,.config文件.包括生成的bi