【GIT】.gitignore文件的使用

使用 Visual Studio 开发项目,并使用 Git 将项目推送到 GitLab 时,有一些文件是自动生成的、特定于开发环境的文件,通常不应该被推送到远程仓库。这就是 .gitignore 文件的作用,它可以告诉 Git 忽略这些文件或文件夹。

1. 哪些文件应该忽略?

在使用 Visual Studio 和 Git 时,以下类型的文件/文件夹通常应该被忽略:

  • 编译输出文件(如 bin/obj/ 文件夹):这些是编译后生成的中间文件,没必要提交到版本库。
  • 用户特定的配置文件(如 .vs/ 文件夹):这些是 Visual Studio 的项目和用户环境配置文件,通常不需要共享。
  • 调试文件:包括 .pdb 文件、日志文件等。
  • 临时文件:如 *.tmp*.log 等。

2. .gitignore 文件内容

下面是一个常见的适用于 Visual Studio 项目.gitignore 文件模板,你可以根据具体情况进行修改。

# 编译输出文件
bin/
obj/

# Visual Studio 用户设置文件
.vs/

# User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates

# 缓存、日志文件等
*.log
*.tlog
*.cache
*.pdb
*.ilk
*.tmp
*.csproj.user

# 临时的自动生成的文件
*.tmp
*.tmp.*
*.log
*.mdf
*.ldf

# NuGet
*.nupkg
packages/
project.lock.json
project.fragment.lock.json

# 拒绝上传调试配置
debug/
release/

# Publish
*.Publish.xml
*.PublishSettings

# Rider
.idea/

# Mac 专属文件
.DS_Store

# Git 特殊文件
!.gitignore
  • bin/obj/ 是编译后生成的文件夹,应该被忽略。
  • .vs/ 文件夹包含了 Visual Studio 的用户和项目设置,通常不需要提交。
  • *.log*.tmp*.pdb 等为临时文件和调试文件,不需要版本控制。
  • packages/ 文件夹是 NuGet 包的下载缓存,通常不需要提交。

3. 在哪里写 .gitignore 文件?

.gitignore 文件应该放在你的项目根目录中。Git 会从该文件读取哪些文件和文件夹需要被忽略。

步骤:
  1. 创建 .gitignore 文件:在你的项目根目录(和 .git 文件夹同级)下创建一个名为 .gitignore 的文件,通常可以直接在文件资源管理器中创建,或者通过右键选择 “新建文本文件” 然后重命名为 .gitignore
  2. 编辑 .gitignore 文件:将上述 .gitignore 模板复制粘贴到文件中,保存即可。

4. TortoiseGit 操作步骤

如果你使用 TortoiseGit,你可以通过以下步骤来管理 .gitignore 文件。

步骤 1:创建 .gitignore 文件
  1. 在项目根目录下新建 .gitignore 文件,或右键点击项目文件夹,选择 TortoiseGit -> Gitignore…
  2. 在弹出的对话框中,可以手动添加要忽略的文件和文件夹。
  3. 输入完成后,点击 确定,TortoiseGit 会自动更新 .gitignore 文件。
步骤 2:检查忽略的文件
  1. 右键点击项目文件夹,选择 TortoiseGit -> 检查修改 (Check for modifications)
  2. 检查是否有未被忽略的编译输出、调试文件。如果这些文件还显示在更改列表中,则需要确保 .gitignore 正确配置。
步骤 3:提交 .gitignore
  1. 右键点击项目文件夹,选择 TortoiseGit -> 提交 (Commit)
  2. 勾选 .gitignore 文件并提交。这样,其他开发者也会获取到这些忽略规则。

5. 推送到 GitLab

.gitignore 文件配置完成后,你可以按照以下步骤将代码推送到 GitLab。

使用 TortoiseGit 推送:
  1. 右键点击项目文件夹,选择 TortoiseGit -> 推送 (Push)
  2. 在弹出的推送对话框中,确认推送的分支和远程仓库(一般是 origin),点击 确定,完成推送。

总结:

  • .gitignore 文件 用于告诉 Git 忽略某些不必要的文件和文件夹。
  • 通常情况下,编译输出文件(如 bin/obj/)、Visual Studio 配置文件(如 .vs/)等应被忽略。
  • 可以通过手动创建 .gitignore 文件,也可以使用 TortoiseGit 的 Gitignore 工具来管理忽略规则。
  • 配置完成后,记得将 .gitignore 文件提交到版本控制系统中。
### 如何在 `.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、付费专栏及课程。

余额充值