1、 环境
Windows XP SP3 + TortoiseGit + msysGit
2、 ignore files的三种方法
以下涉及的ignore文件均为如下格式:
# 以'#'开始的行,被视为注释. # 忽略掉所有文件名是 foo.txt的文件. foo.txt # 忽略所有生成的 html文件, *.html # foo.html是手工维护的,所以例外. !foo.html # 忽略所有.o和 .a文件. *.[oa] |
【方式一】
在仓库目录下新建一个名为.gitignore的文件(因为是点开头,没有文件名,没办法直接在windows目录下直接创建,必须通过右键Git Bash,按照linux的方式来新建.gitignore文件)。如下图所示。
.gitignore文件对其所在的目录及所在目录的全部子目录均有效。通过将.gitignore文件添加到仓库,其他开发者更新该文件到本地仓库,以共享同一套忽略规则。
【方式二】
通过配置.git/info/exclude文件来忽略文件。这种方式对仓库全局有效,只能对自己本地仓库有作用,其他人没办法通过这种方式来共享忽略规则,除非他人也修改其本地仓库的该文件。
【方式三】
通过.git/config配置文件的core. Excludesfile选项,指定一个忽略规则文件(完整路径),如下图所示。忽略规则在文件e:/gitignore.txt中(当然该文件名可以任意取)。
该方式的作用域是也全局的。
【例子】
# 忽略*.o和*.a文件
*.[oa]
# 忽略*.b和*.B文件,my.b除外
*.[bB]
!my.b
# 忽略dbg文件和dbg目录
dbg
# 只忽略dbg目录,不忽略dbg文件
dbg/
# 只忽略dbg文件,不忽略dbg目录
dbg
!dbg/
# 只忽略当前目录下的dbg文件和目录,子目录的dbg不在忽略范围内
/dbg
Git 忽略一些文件不加入版本控制
在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改 .gitignore 文件的方法。这个文件每一行保存了一个匹配的规则例如:
# 此为注释 – 将被 Git 忽略
*.a # 忽略所有 .a 结尾的文件!lib.a # 但 lib.a 除外
/TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/ # 忽略 build/ 目录下的所有文件
doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
这样设置了以后 所有的 .pyc 文件都不会添加到版本库中去。
另外 git 提供了一个全局的 .gitignore,你可以在你的用户目录下创建 ~/.gitignoreglobal 文件,以同样的规则来划定哪些文件是不需要版本控制的。
需要执行 git config --global core.excludesfile ~/.gitignoreglobal来使得它生效。
其他的一些过滤条件
* ?:代表任意的一个字符* *:代表任意数目的字符
* {!ab}:必须不是此类型
* {ab,bb,cx}:代表ab,bb,cx中任一类型即可
* [abc]:代表a,b,c中任一字符即可
* [ ^abc]:代表必须不是a,b,c中任一字符
由于git不会加入空目录,所以下面做法会导致tmp不会存在 tmp/* //忽略tmp文件夹所有文件
改下方法,在tmp下也加一个.gitignore,内容为*
!.gitignore
还有一种情况,就是已经commit了,再加入gitignore是无效的,所以需要删除下缓存
git rm -r --cached ignore_file
注意: .gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。
正确的做法是在每个clone下来的仓库中手动设置不要检查特定文件的更改情况。git update-index --assume-unchanged PATH 在PATH处输入要忽略的文件。
另外 git 还提供了另一种 exclude 的方式来做同样的事情,不同的是 .gitignore 这个文件本身会提交到版本库中去。用来保存的是公共的需要排除的文件。而 .git/info/exclude 这里设置的则是你自己本地需要排除的文件。 他不会影响到其他人。也不会提交到版本库中去。
相关推荐
这时候,我们就需要设置Git忽略这些无须跟踪的文件,以保持代码仓库的整洁。本文将详细介绍如何在VS2022中设置Git忽略文件。 首先,我们需要了解`.gitignore`文件。这是一个文本文件,用于定义Git应该忽略的文件或...
简介 当我们在进行上传代码到Git、SVN仓库时,通常需要先配置忽略文件,这样主要是方便上传的代码下载的...Ignore specified file 忽略指定文件 Ignore all files under 忽略指定文件夹下的文件 Ignore all
如果需要忽略已追踪的文件,可以使用`git rm --cached <file>`命令将其从索引中移除,然后它们将不再出现在未来的提交中。 总之,`gitignore`文件是Git项目中不可或缺的部分,它帮助我们保持版本控制的整洁,避免...
VS2019的git常用过滤文件.gitignore
`.gitignore`文件是一个文本文件,用于定义哪些文件或文件夹应该被Git忽略。它通常放在项目的根目录下,并且其规则遵循特定的语法。 创建`.gitignore`文件在Windows系统中可能需要通过Git Bash等工具来完成,因为...
这个文件包含了所有我们希望Git忽略的文件或文件模式。例如,如果你在Windows系统上进行Python开发,你可能需要忽略Windows自动生成的缩略图文件(如`.Thumbs.db`、`.ehthumbs.db`和`Desktop.ini`)以及Python编译...
首先,`.gitignore`文件是Git的一个核心组成部分,它定义了哪些文件或目录应该被Git忽略,不纳入版本控制。对于UE4项目,我们需要在`.gitignore`文件中列出所有不应版本化的文件,例如临时文件、编译生成的中间文件...
- `Ignore specified file`:忽略特定的单个文件。 - `Ignore all files under`:忽略指定文件夹下的所有文件。 - `Ignore all files matching`:忽略符合特定模式的所有文件。 常见的需要忽略的文件和文件夹...
在插件安装后,用户可以通过右键点击项目目录,选择“New”->“.ignore file”->“.gitignore file (Git)”来创建新的.gitignore文件。在创建过程中,可以选择不同的模板(Example user template),然后根据需要...
- `.gitignore`:配置文件,指定哪些文件或目录应被Git忽略。 - `git rm -r --cached .`:从版本库中删除所有已被`.gitignore`忽略的文件和目录。 - `git check-ignore -v <file>`:检查文件是否被`.gitignore`...
3. 提交更改:`git commit -m "Ignore <file> using .gitignore"` #### 示例 下面是一个 `.gitignore` 文件的例子,展示了一些常见的忽略规则: ```plaintext # 忽略所有 .a 文件 *.a # 但是不忽略 lib.a 文件 !...
如果你已经将一些被忽略的文件添加到了版本库,需要通过`git rm --cached <file>`命令从版本库中移除它们,之后再提交变更。 5. **自定义忽略规则**: 虽然PyCharm提供了一些预设的模板,但你也可以根据项目的具体...
- `-I` 或 `--ignore` `<模式>`:忽略符合指定模式的文件或目录。 例如,要在当前目录下显示所有文件和目录,你可以运行`tree`;如果只想看目录,可以运行`tree -d`。 `tree`命令对于查看项目结构、理解和管理复杂...
而`.gitignore`文件是Git中的一个重要组成部分,它定义了哪些文件或目录应该被Git忽略,不纳入版本控制。本文将深入探讨`.gitignore`的用途、工作原理以及其在迭代过程中的作用。 首先,理解`.gitignore`的基本概念...
如果要检查给定路径是否会被.gitignore文件排除,请使用此库。 它目前建立在 Rust 的最新版本和稳定版本上。 用法 该板条箱称为gitignore ,您可以通过获得它: [ dependencies ] gitignore = " x.y.z " 你也...
对于`svn`,你可以先将文件标记为“忽略变更”(`svn propset svn:ignore-changes somefile`),替换后再取消忽略。 标签中提到的"IM,IMSDK"表明这可能与即时通讯(Instant Messaging)的软件开发有关。在IM项目中...
6. `ignore.txt`:类似于`.gitignore`,这可能是一个特定于项目或工具的忽略文件,指示哪些文件或文件类型不应被处理或考虑。 7. `_buildFexLibrary on FEX.url`:这是一个URL链接,指向MATLAB File Exchange上的...