【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 文件提交到版本控制系统中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/57143.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL 多表联查

SQL JOIN (w3school.com.cn) SQL join用于根据两个或多个表中的列之间的关系,从这些表中查询数据。 之前跟着老师学数据库的时候学过,最近又在比较频繁的使用,再复习一下。 Person表: Id_P :居民编号。主键 …

大数据开发基于Hadoop+springboot平台的岗位推荐系统

文章目录 前言项目介绍技术介绍功能介绍核心代码数据库参考 系统效果图文章目录 前言 文章底部名片,获取项目的完整演示视频,免费解答技术疑问 项目介绍 随着网络科学技术不断的发展和普及化,用户在寻找适合自己的信息管理系统时面临着越来…

成功解决pycharm软件中按住Ctrl+点击指定函数却不能跳转到对应库中的源代码

成功解决pycharm软件中按住Ctrl点击指定函数却不能跳转到对应库中的源代码 目录 解决问题 解决方法 解决问题 在pycharm软件中按住Ctrl点击指定函数却不能跳转到对应库中的源代码 解决方法

探索秘境:如何使用智能体插件打造专属的小众旅游助手『小众旅游探险家』

文章目录 摘要引言智能体介绍和亮点展示介绍亮点展示 已发布智能体运行效果智能体创意想法创意想法创意实现路径拆解 如何制作智能体可能会遇到的几个问题快速调优指南总结未来展望 摘要 本文将详细介绍如何使用智能体平台开发一款名为“小众旅游探险家”的旅游智能体。通过这…

个人健康系统|个人健康数据管理系统|基于小程序+java的个人健康数据管理系统设计与实现(源码+数据库+文档)

个人健康数据管理系统 目录 基于小程序java的个人健康数据管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|毕设布道师…

重构案例:将纯HTML/JS项目迁移到Webpack

我们已经了解了许多关于 Webpack 的知识,但要完全熟练掌握它并非易事。一个很好的学习方法是通过实际项目练习。当我们对 Webpack 的配置有了足够的理解后,就可以尝试重构一些项目。本次我选择了一个纯HTML/JS的PC项目进行重构,项目位于 GitH…

web3学习-区块链基础知识

1.1 区块链技术简史 block chain 点对点的分布式交易系统 比特币协议并不是图灵完备的。 以太坊协议加入了智能合约,智能合约是以太坊协议与比特币协议的最大区别(图灵完备) 1.2、区块链设计哲学 去中心化 由于没有中心化的数据库作为…

记录一个容易混淆的 Spring Boot 项目配置文件问题

记录一个容易混淆的 Spring Boot 项目配置文件问题 去年,我遇到了这样一个问题: 在这个例子中,由于密码 password 以 0 开头,当它被 Spring Boot 的 bean 读取时,前导的 0 被自动去掉了。这导致程序无法正确读取密码。…

网盘直链下载神器NDM

工具介绍 ​Neat Download Manager分享一款网盘不限速神器,安装步骤稍微有一点繁琐,但实际体验下载速度飞快,个人实际体验还是非常不错的 NDM是一款免费且强大的下载工具。可以帮助你下载各种文件,还能够在多任务下载中保持出色的速度及其稳定性 通过网盘分享的文…

【MySQL核心面试题】MySQL 核心 - Explain 执行计划详解!

欢迎关注公众号 【11来了】(文章末尾即可扫码关注) ,持续 中间件源码、系统设计、面试进阶相关内容 在我后台回复 「资料」 可领取 编程高频电子书! 在我后台回复「面试」可领取 30w 字的硬核面试笔记! 感谢你的关注&…

MySQL【知识改变命运】10

联合查询 0.前言1.联合查询在MySQL里面的原理2.练习一个完整的联合查询2.1.构造练习案例数据2.2 案例:⼀个完整的联合查询的过程2.2.1. 确定参与查询的表,学⽣表和班级表2.2.2. 确定连接条件,student表中的class_id与class表中id列的值相等2.…

wordpress 子比主题美化 四宫格 多宫格 布局插件

wordpress 主题美化 四宫格 多宫格 布局插件(只在子比主题上测试过,其它主题没测试) A5资源网四宫格布局插件是一个功能丰富的WordPress插件,专为创建自适应的四宫格布局而设计。这个插件具有以下主要特点: 灵活的布局: 支持1到8个宫格的自定…

Springboot整合knife4j生成文档

前言 在开发过程中,接口文档是很重要的内容,用于前端对接口的联调,也用于给其他方使用。但是手写相对比较麻烦。 当然也有swagger之类的,但是界面没有那么友好。 官网: 整合步骤 整合依赖 需要根据版本进行&…

如何使用 pnpm 进行打补丁patch操作?推荐两个方法

前言 作为一个前端开发者,我们每天都在和各种各样的库和依赖打交道。node_modules 目录中存放着我们项目的各种依赖。我们有时需要对其中的一些依赖进行修改,比如修复某个 bug 或者增加某些自定义功能。这时候,给 node_modules 打补丁就显得…

为您的 WordPress 网站打造完美广告布局 A5广告单元格插件

一个为 WordPress 网站量身定制的强大工具,它将彻底改变您展示广告的方式 灵活多变的布局设计 A5 广告单元格插件的核心优势在于其无与伦比的灵活性。无论您是想要创建整齐的网格布局,还是希望打造独特的不规则设计,这款插件都能满足您的需求。 自定义网格数量:从 2…

androidStudio编译导致的同名.so文件冲突问题解决

files found with path lib/arm64-v8a/libserial_port.so from inputs: ...\build\intermediates\library_jni\debug\jni\arm64-v8a\libserial_port.so C:\Users\...\.gradle\caches\transforms-3\...\jni\arm64-v8a\XXX.so 解决方式如下: 1.将gradle缓存文件删…

TwinCAT3安装 Advanced Motion Pack库

文章目录 一.简介二.安装方式1. 下载地址2. 双击下载好的安装包3. 选择语言(只有英文和德语)4. 点击Next5. 选择Accept6. 填写公司和组织名称(随意)7. 点击Install8. 等待安装完成9. 点击Finish 一.简介 TF5420 TC3 Motion Pick-…

深度学习-1:逻辑回归和梯度下降

逻辑回归 逻辑回归是一个二分分类问题 比如判断一张图片中是否是猫就是一个二类分类问题 图像由像素值组成,要将图像输入模型,就将其变为一个向量,该向量存储三个通道上的所有像素值,若图像尺寸为64x64x3,则向量维度…

RequestBody接收参数报错com.fasterxml.jackson.databind.exc.MismatchedInputException

目录: 1、错误现象2、解决办法3、最终验证 1、错误现象 报错的现象和代码如下: 2、解决办法 查了很多都说参数类型对不上,但是明明是对上的,没有问题,最后只有换接收方式后验证是可以的;最终想了一下&…

Unity3D 观察者模式

Unity3D 泛型事件系统 观察者模式 观察者模式是一种行为设计模式,通过订阅机制,可以让对象触发事件时,通知多个其他对象。 在游戏逻辑中,UI 界面通常会监听一些事件,当数据层发生变化时,通过触发事件&am…