git使用之忽略不需要上传的文件的三种方法

git使用之忽略不需要上传的文件的三种方法,第1张

在使用git 的时候通常会遇到一些问题,一些文件我创建了但是我并不想上传或者有些文件我修改了但是并不想上传(为了适应个自己的开发环境),但是在每次git status的时候总能看到它,不仅感到很心烦,而且有时会误上传。笔者接下来介绍两种git 忽略文件的方法。

一般git clone下来的项目是没有 .gitignore文件的需要我们手动创建,然后git 会自动识别这个文件,创建完成之后就可以在里面写一些创建了的文件但不希望上传的部分。

例如 cache , log 等 ,这些文件创建了但是并不想上传,我们可以将其写入 .gitignore文件中,* 代表该路径下的文件

.gitignore这个文件中支持多种忽略的规则,大家可以上网上去查,很多用法。这里不多叙述

但是.gitignore 只支持一些创建了但是不想上传的文件,也就是说不存在缓冲区的文件可以用.gitignore忽略,但是对于那些已经存在缓冲区的文件,修改了却不想上传,我们该如何呢?看第二种方法。

该情况可能出现在,修改了配置文件,或者修改一些配置适应本地环境的文件。

使用 git update-index --assume-unchanged PATH/FILE 来不追踪该文件更新与否。

PATH/FILE 特定文件比如 config/config.php等等。

该情况可能出现在,某些文件可能不需要添加到缓冲区,但是不小心添加到缓冲区,需要忽略,可以先从缓冲区移除,在从.gitignore文件中忽略

git rm --cached testFile //将该文件从缓冲区移除永远不追踪该文件

做完以上步骤时,想必你们也和我一样拥有一个干净的git status 结果,以后修改文件便可以,git add . 直接添加自己已经修改的文件,然后上传,再也不用一个一个文件的添加,还担心添加错。

场景: 我们 新增文件 或者 修改的文件 后,理论上在 sourcetree 下面的暂存区会出现这些文件。但是有时候,不显示在暂存区,所以无法提交,怎么处理呢?

举例: 下图中,只有部分改动的文件在这里,而你 新增的文件 或者 有些修改的文件 或者 新增的组件化工程 ,尤其是 新增的组件化工程 在这里没看到这些文件,所以无法提交。

解决: 需要删除掉目录下的 .git文件 , .git文件 默认不显示的,所以无法 *** 作,需要显示出来,我的这篇文章有介绍。 Git专栏11:显示和隐藏.git文件

删掉这个 .git文件 后,重启一下 sourcetree ,就有了,可以 *** 作了。

1. 在需要创建 .gitignore 文件的文件夹, 右键选择

Git Bash 进入命令行,进入项目所在目录。

2. 输入 touch .gitignore 在文件夹就生成了一个“.gitignore”文件。

然后在”.gitignore” 文件里输入你要忽略的文件夹及其文件就可以了。

3.然后用编辑器打开这个文件进行编辑就行了。如果你很牛,熟悉linux下的vi编辑的命令,也可以用命令来声明规则额。在这里就不说了额,

附: vi编辑器的怎么换行呢?

总结:vi保存退出命令x和wq的区别

搜集:不会linux下vi命令,伤不起啊

4.然后就写规则来 *** 作要忽略的文件了。.gitignore文件过滤有两种模式,开放模式和保守模式

4.1开放模式负责设置过滤哪些文件和文件夹

eg:

过滤文件夹设置:

/mtk/ 表示过滤这个文件夹

过滤文件设置

指定过滤某种类型的文件:

*.zip

*.rar

*.via

*.tmp

*.err

指定过滤某个文件:

/mtk/do.c

/mtk/if.h

4.2 b保守模式负责设置哪些文件不被过滤,也就是哪些文件要被跟踪

跟踪某个文件夹

!/plutommi/mmi

跟踪某类文件

!*.c

!*.h

跟踪某个指定文件

!/plutommi/mmi/mmi_features.h

4.3.配置.gitignore 的简易原则

采用共享模式与保守模式结合配置的办法。eg:一个文件夹下有很多文件夹和文件,而我只想跟踪其中的一个文件,这样设置就可以满足这种情况,先用共享模式把整个目录 都设置为不跟踪,然后再用保守模式把这个文件夹中想要跟踪的文件设置为被跟踪,配置很简单,就可以跟踪想要跟踪的文件。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11774389.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存