Git .gitignore使用

本文介绍如何利用.gitignore文件排除特定文件或目录,使其不被纳入Git版本控制系统。通过具体步骤演示如何创建并配置.gitignore文件,以及如何进行基本的Git操作。

有些时候我们不希望把一些编译的东西提交到git中,.gitignore可以方便管理我们不需要提交的文件,自动过滤设置的文件。

Git提供了一种可配性很强的机制来允许用户将指定的文件或目录排除在版本控制之外,它会检查代码仓库的根目录下是否存在一个名为.gitignore的文件,如果存在的话就去一行行读取这个文件中的内容,并把每一行指定的文件或目录排除在版本控制之外。注意.gitignore中指定的文件或目录是可以使用“*”通配符的。

这里以具体的一个项目为例,contactstest

第一步,创建代码库

首先进入当前的项目根目录

执行

git init

这时项目根目录下会有.git文件夹

第二步,创建.gitignore文件
执行如下命令:

touch .gitignore

这时项目根目录下会有.gitignore文件

第三步,编辑.gitignore文件

vim .gitignore

然后在里面加入

build/

表示我们不希望将build文件夹提交到git中,然后推出vim:按Esc,推出编辑模式,然后按shift+;,再输入q!(不保存)或者wq!(保存)

第四步,提交

git add .

将所有文件提交到git,会过滤调build文件夹

git commit -m "First commit ."

执行提交

检查提交是否成功

git status

提示没有东西需要提交,说明提交成功

下面是一些常用的命令

查看修改的内容:

git diff
git diff src/com/example/providertest/MainActivity.java

撤销未提交的修改

git checkout src/com/example/providertest/MainActivity.java

如果文件已经执行了

git add .

那么就涉及到撤销已提交的代码:
先取消提交

git reset HEAD src/com/example/providertest/MainActivity.java

然后在用checkout的命令撤销

查看提交日志

git log

查看具体某一行的日志

git log 2e7c0547af28cc1e9f303a4a1126fddbb704281b -1

查看日志对应的修改内容git log 2e7c0547af28cc1e9f303a4a1126fddbb704281b -1 –p

### 如何在 `.gitignore` 文件中新增忽略规则 当需要让 Git 忽略某些特定文件或目录时,可以在项目的根目录下的 `.gitignore` 文件中定义这些忽略模式。每一个新行可以包含一个新的忽略规则。 #### 编辑 `.gitignore` 文件并添加规则 为了向 `.gitignore` 文件中增加新的忽略规则,需先找到该文件所在位置,通常位于版本库的根目录下。如果此文件不存在,则可创建一个名为 `.gitignore` 的文本文件[^2]。 一旦打开了 `.gitignore` 文件,就可以按照如下方式来编写规则: - **简单匹配**: 可以直接写入要忽略的具体文件名或通配符表达式的路径。例如 `*.log` 表示忽略所有的日志文件。 - **绝对路径与相对路径**: 使用 `/` 开头表示相对于`.gitignore` 所处位置的固定路径;而没有斜杠则代表任意子目录中的同名项都会被忽略[^4]。 - **排除已忽略的内容**: 如果之前已经设定了较宽泛的选择条件,在其后加上感叹号前缀 (`!`) 来反转效果,即重新纳入考虑范围内的条目。比如忽略了所有 `.txt` 文件后再特别指明保留某个具体的 `.txt` 文件。 #### 示例代码展示 下面是一个简单的例子,展示了如何设置不同类型的忽略规则: ```plaintext # 忽略所有 .a 结尾的目标文件 *.a # 但是不忽略 lib.a 这个目标文件 !lib.a # 忽略所有 .o 和 .class 类型的对象文件以及类文件 *.[oa] # 忽略整个 build 目录及其内部的所有内容 /build/ # 忽略所有临时备份文件 *~ # 排除对 /temp/example.txt 的忽略(即使有更广泛的忽略规则) !/temp/example.txt ``` 完成上述操作之后,记得通过命令将更新后的 `.gitignore` 提交至仓库以便生效: ```bash git add .gitignore git commit -m "Update .gitignore with new ignore rules" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值