Visual Studio使用Git忽略不想上传到远程仓库的文件
前言
作为一个.NET开发者而言,有着宇宙最强IDE:Visual Studio加持,让我们的开发效率得到了更好的提升。我们不需要担心环境变量的配置和其他代码管理工具,因为Visual Studio有着众多的拓展工具。废话不多说,直接进入正题。我们日常在使用Visual Studio开发相关的.NET项目时,经常会发现刚拉取下拉的代码什么都没有改动,就是运行了一下就会产生一些需要提交的文件,比如说最常见的bin/Debug, bin/Release,obj/Debug,obj/Release文件。但是我不想把这些文件提交到远程的git代码远程仓库中去,其实这个很简单只需要我们在初次创建项目的时候在项目目录下新增一个忽略文本文件(.gitignore),然后在使用git推送到远程仓库中就好了。
需要忽略提交的文件
配置.gitignore忽略文件,忽略不需要提交的文件
添加Visual Studio的.gitgnore模板到项目中
C#/.NET/.NET Core相关项目的忽略文件模板(VisualStudio.gitignore)
只要是使用VisualStudio开发的项目都可以使用该模板。
-
VisualStudio.gitignore模板GitHub开源地址(该项目中有众多的编程语言或IDE相关.gitgnore配置,可以下载下来直接使用):https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore# User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs# Mono auto generated files
mono_crash.*# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
[Ll]ogs/# Visual Studio 2015/2017 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/# Visual Studio 2017 auto generated files
Generated\ Files/# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*# NUnit
*.VisualState.xml
TestResult.xml
nunit-*.xml# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c# Benchmark Results
BenchmarkDotNet.Artifacts/# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/# ASP.NET Scaffolding
ScaffoldingReadMe.txt# StyleCop
StyleCopReport.xml# Files built by Visual Studio
*_i.c
*_p.c
*_h.h
*.ilk
*.meta
*.obj
*.iobj
*.pch
*.pdb
*.ipdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*_wpftmp.csproj
*.log
*.tlog
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc# Chutzpah Test files
_Chutzpah*# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap# Visual Studio Trace Files
*.e2e# TFS 2012 Local Workspace
$tf/# Guidance Automation Toolkit
*.gpState# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user# TeamCity is a build add-in
_TeamCity*# DotCover is a Code Coverage Tool
*.dotCover# AxoCover is a Code Coverage Tool
.axoCover/*
!.axoCover/settings.json# Coverlet is a free, cross platform Code Coverage Tool
coverage*.json
coverage*.xml
coverage*.info# Visual Studio code coverage results
*.coverage
*.coveragexml# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*# MightyMoose
*.mm.*
AutoTest.Net/# Web workbench (sass)
.sass-cache/# Installshield output folder
[Ee]xpress/# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html# Click-Once directory
publish/# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# Note: Comment the next line if you want to checkin your web deploy settings,
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/# NuGet Packages
*.nupkg
# NuGet Symbol Packages
*.snupkg
# The packages folder can be ignored because of Package Restore
**/[Pp]ackages/*
# except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/[Pp]ackages/repositories.config
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets# Microsoft Azure Build Output
csx/
*.build.csdef# Microsoft Azure Emulator
ecf/
rcf/# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
*.appx
*.appxbundle
*.appxupload# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!?*.[Cc]ache/# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs# Including strong name files can present a security risk
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
#*.snk# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/# RIA/Silverlight projects
Generated_Code/# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
ServiceFabricBackup/
*.rptproj.bak# SQL Server files
*.mdf
*.ldf
*.ndf# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
*.rptproj.rsuser
*- [Bb]ackup.rdl
*- [Bb]ackup ([0-9]).rdl
*- [Bb]ackup ([0-9][0-9]).rdl# Microsoft Fakes
FakesAssemblies/# GhostDoc plugin setting file
*.GhostDoc.xml# Node.js Tools for Visual Studio
.ntvs_analysis.dat
node_modules/# Visual Studio 6 build log
*.plg# Visual Studio 6 workspace options file
*.opt# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw# Visual Studio 6 auto-generated project file (contains which files were open etc.)
*.vbp# Visual Studio 6 workspace and project file (working project files containing files to include in project)
*.dsw
*.dsp# Visual Studio 6 technical files
*.ncb
*.aps# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions# Paket dependency manager
.paket/paket.exe
paket-files/# FAKE - F# Make
.fake/# CodeRush personal settings
.cr/personal# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc# Cake - Uncomment if you are using it
# tools/**
# !tools/packages.config# Tabs Studio
*.tss# Telerik's JustMock configuration file
*.jmconfig# BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs# OpenCover UI analysis results
OpenCover/# Azure Stream Analytics local run output
ASALocalRun/# MSBuild Binary and Structured Log
*.binlog# NVidia Nsight GPU debugger configuration file
*.nvuser# MFractors (Xamarin productivity tool) working folder
.mfractor/# Local History for Visual Studio
.localhistory/# Visual Studio History (VSHistory) files
.vshistory/# BeatPulse healthcheck temp database
healthchecksdb# Backup folder for Package Reference Convert tool in Visual Studio 2017
MigrationBackup/# Ionide (cross platform F# VS Code tools) working folder
.ionide/# Fody - auto-generated XML schema
FodyWeavers.xsd# VS Code files for those working on multiple tools
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
*.code-workspace# Local History for Visual Studio Code
.history/# Windows Installer files from build outputs
*.cab
*.msi
*.msix
*.msm
*.msp# JetBrains Rider
*.sln.iml
.gitignore忽略规则
基本语法:
-
以”#”号开头表示注释;
-
以斜杠“/”开头表示目录;
-
以星号“*”通配多个字符;
-
以问号“?”通配单个字符;
-
以方括号“[]”包含单个字符的匹配列表;
-
以叹号“!”表示不忽略(跟踪)匹配到的文件或目录;
-
此外,git 对于 .ignore 配置文件是按行从上到下进行规则匹配的,意味着如果前面的规则匹配的范围更大,则后面的规则将不会生效;
代码示例
# 此为注释 – 将被 Git 忽略*.a # 忽略所有 .a 结尾的文件
!lib.a # 但 lib.a 除外
/TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/ # 忽略 build/ 目录下的所有文件
doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
处理已提交到远程仓库中的文件
可能在开发的时候忘记添加忽略文件配置(gitignore),把这些文件推送到远程仓库中,我们有以下两种做法解决:
-
1、把本地这些文件删除再提交到远端(前提是这些文件是环境变量文件,假如是无法自动生成的不推荐)。
-
2、使用以下git 命令:
//当我们需要删除暂存区或分支上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制, 可以使用
git rm -r --cached file_path(文件路径) //把file_path文件在当前分支的暂存区中删除
git add . //提交当前操作本地暂存区
git commit -m 'delete remote somefile' //提交到本地git仓库
git push //提交到远程代码库
如我需要移除某个项目中的obj文件然后提交:
该文件路径为:D:\开发学习-Master\我的训练营\DailyLearning\工作&学习.Net训练营\Application\obj
输入以下命令移除相关不需要跟踪的文件:
git rm -r --cached Application/obj
执行成功后,文件将从该分支中删除(本地还会存在),最后我们提交到远程仓库即可。
相关文章:

Visual Studio使用Git忽略不想上传到远程仓库的文件
前言 作为一个.NET开发者而言,有着宇宙最强IDE:Visual Studio加持,让我们的开发效率得到了更好的提升。我们不需要担心环境变量的配置和其他代码管理工具,因为Visual Studio有着众多的拓展工具。废话不多说,直接进入正…...

Nginx简单阐述及安装配置
目录 一.什么是Nginx 二.Nginx优缺点 1.优点 2.缺点 三.正向代理与反向代理 1.正向代理 2.反向代理 四.安装配置 1.添加Nginx官方yum源 2.使用yum安装Nginx 3.配置防火墙 4.启动后效果 一.什么是Nginx Nginx(“engine x”)是一个高性能的HTTP…...

【遥感入门系列】遥感分类技术之遥感解译
遥感的最终成果之一就是从遥感图像上获取信息,遥感分类是获取信息的重要手段。同时遥感图像分类也是目前遥感技术中的热点研究方向,每年都有新的分类方法推出。 本小节主要内容: 遥感分类基本概念常见遥感分类方法 1 遥感分类概述 遥感图…...

解决:IDEA无法下载源码,Cannot download sources, sources not found for: xxxx
原因 Maven版本太高,遇到http协议的镜像网站会阻塞,要改为使用https协议的镜像网站 解决方案 1.打开设置 2. 拿到settings.xml路径 3. 将步骤2里箭头2的User settings file:settings.xml打开,作以下修改 保存即可。如果还不行…...

什么是IDE,新手改如何选择IDE?
IDE 是 Integrated Development Environment(集成开发环境)的缩写,它是一种软件应用程序,为程序员提供了一站式的开发环境,整合了多种工具和服务,以便高效地创建、修改、编译、调试和运行软件程序。IDE 集成…...

springBoot+Vue汽车销售源码
源码描述: 汽车销售管理系统源码基于spring boot以及Vue开发。 针对汽车销售提供客户信息、车辆信息、订单信息、销售人员管理、 财务报表等功能,提供经理和销售两种角色进行管理。 技术架构: idea(推荐)、jdk1.8、mysql5.X(不能为8驱动不匹配)、ma…...

FPS游戏框架漫谈第五天
今天想了想整理下AnimatorManager 他的职责是负责动画的播放,那么在介绍该对象具备的对外接口,必须先介绍下拥有动画的对象他是怎么管理动画数据的,打个比方如果我们一个把武器需要播放开火动画,那么我们基于unity引擎可视化动画编…...

83.如何设计高可用系统
文章目录 一、简介二、导致系统不可用的常见原因三、高可用系统设计基本原则四、容错性设计五、弹性伸缩六、可观测七、安全防护设计八、自动化 一、简介 什么是高可用 高可用是指系统在面对各种故障和异常情况时,仍能够提供稳定、可靠的服务。对于企业和用户而言&…...

Map和Set讲解
🎥 个人主页:Dikz12📕格言:那些在暗处执拗生长的花,终有一日会馥郁传香欢迎大家👍点赞✍评论⭐收藏 目录 集合框架 模型 Set 常见方法和说明 Set总结 Map说明 Map常见方法和说明 Map 中HashMap的 …...

PHP集成开发环境 PhpStorm 2023 for mac中文激活版
PhpStorm 2023 for Mac是一款功能强大的PHP集成开发环境(IDE),旨在帮助开发者更高效地编写、调试和测试PHP代码。该软件针对Mac用户设计,提供了丰富的功能和工具,以简化开发过程并提高开发效率。 软件下载:…...

数学建模 - 线性规划入门:Gurobi + python
在工程管理、经济管理、科学研究、军事作战训练及日常生产生活等众多领域中,人们常常会遇到各种优化问题。例如,在生产经营中,我们总是希望制定最优的生产计划,充分利用已有的人力、物力资源,获得最大的经济效益&#…...

SpringBoot security 安全认证(二)——登录拦截器
本节内容:实现登录拦截器,除了登录接口之外所有接口访问都要携带Token,并且对Token合法性进行验证,实现登录状态的保持。 核心内容: 1、要实现登录拦截器,从Request请求中获取token,从缓存中获…...

详解WebRTC rtc::Thread实现
rtc::Thread介绍 rtc::Thread类不仅仅实现了线程这个执行器(比如posix底层调用pthread相关接口创建线程,管理线程等),还包括消息队列(message_queue)的实现,rtc::Thread启动后就作为一个永不停止的event l…...

阿赵UE学习笔记——13、贴花
阿赵UE学习笔记目录 大家好,我是阿赵。 继续学习虚幻引擎的使用。这次介绍一种特殊的材质类型,贴花。 一、获取贴花资源 在没有分析贴花的原理之前,可以先去获得一些免费的贴花资源来使用,比如在Quixel上面就有专门的一个资源…...

简单说说mysql的日志
今天我们通过mysql日志了解mysqld的错误日志、慢查询日志、二进制日志,redolog, undolog等。揭示它们的作用和用途,让我们工作中更能驾驭mysql。 redo 日志 如果mysql事务提交后发生了宕机现象,那怎么保证数据的持久性与完整性?…...

如何在CentOS安装DataEase数据分析服务并实现远程访问管理界面
如何在CentOS安装DataEase数据分析服务并实现远程访问管理界面 前言1. 安装DataEase2. 本地访问测试3. 安装 cpolar内网穿透软件4. 配置DataEase公网访问地址5. 公网远程访问Data Ease6. 固定Data Ease公网地址 🌈你好呀!我是 是Yu欸 🌌 202…...

HTTP请求传递参数方式【2024-02-01】
1、HTTP请求传递参数分类 1.1、按照请求方式分类 GET方法:通过查询字符串(Query String,每个参数由参数名和参数值组成,使用等号 连接,不同参数之间使用 & 符号分隔)的方式或直接将参数放在URL中来传递参数POST…...

Error: Projects must list all files or use an ‘include‘ pattern.
博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…...

移动应用开发的方式
移动应用开发的方式(三种) Native App: 本地应用程序(原生App) Web App:网页应用程序(移动web) Hybrid App:混合应用程序(混合App) hybrid应用场景 1、微信公众号&…...

C#学习笔记_类(Class)
类的定义 类的定义是以关键字 class 开始,后跟类的名称。类的主体,包含在一对花括号内。 语法格式如下: 访问标识符 class 类名 {//变量定义访问标识符 数据类型 变量名;访问标识符 数据类型 变量名;访问标识符 数据类型 变量名;......//方…...

壹[1],Xamarin开发环境配置
1,环境 VS2022 注: 1,本来计划使用AndroidStudio,但是也是一堆莫名的配置让人搞得很神伤,还是回归C#。 2,MAUI操作类似,但是很多错误解来解去,且调试起来很卡。 3,最…...

SAM:基于 prompt 的通用图像分割模型
Paper: Kirillov A, Mintun E, Ravi N, et al. Segment anything[J]. arXiv preprint arXiv:2304.02643, 2023. Introduction: https://segment-anything.com/ Code: https://github.com/facebookresearch/segment-anything SAM 是 Meta AI 开发的一款基于 prompt 的通用视觉大…...

2024美赛数学建模C题思路+模型+代码+论文
2024美赛A-F题思路代码模型论文:2.2开赛第一时间更新,获取见文末名片 美赛流程以及经验分享 今天主要和大家分享一下我之前参加美赛的经验,主要分两部分来讲。一部分是美赛流程,另一部分是美赛经验。 一 美赛流程 比赛前&#x…...

npm run serve和npm run dev的区别
1. 功能:通常,"npm run serve"用于启动开发服务器,提供实时的开发环境,支持自动重新加载和热模块替换。这样可以在开发过程中实时查看代码更改的效果。而"npm run dev"可以是一个自定义的指令,用于…...

已解决:winform开发中删除某方法导致窗体设计报错
一、报错截图 二、解决方案 第一步,点击上图的转到代码 第二步,注释掉报错的部分(代码前面加//) 第三步,重新编译 最后,恢复正常...

开源软件的影响力
开源软件如何推动技术创新 开源软件通过开放源代码,为全球开发者提供了共同的平台,促进了协作、交流,并推动了软件技术的创新和发展。以下是一些关键方面的分析: 透明度与信任: 开源软件的源代码是公开可见的,这种透明度带来了更高水平的信任。开发者和用户能够审查代码,…...

postgresql lc_ctype不同值之间的转换
LC_CTYPE 用于决定字元是否为数字,字母,空格,标点符号,及大小写等[1]。将 LC_CTYPE 设为「C」表示 isupper(c) 或 tolower(c) 等 C 语言函数[2]仅针对 US-ASCII 范围内的字元给出预期结果。因为像 upper()、lower() 或 initcap 这类型的Postgres SQL 语句是在libc 函数上实…...

纸盒生产ERP软件怎么样?常用纸盒生产ERP系统有哪几种
市场上的纸盒种类繁多,这些差异化的商品对应多元化的销售渠道和营销策略,日常的经营管理工作较为繁琐。而纸盒生产涉及原材料、发料、车间、工时评估、排产、质检、委外、工单等诸多流程,想要随时掌握各环节进度,及时处理存在的问…...

2024年重庆市考报名照上传失败的原因
2024年重庆市考报名照需要根据以下要求生成: 1、近期6个月,免冠证件照。 2、照片背景白底或者蓝底或者红底背景。 3、照片文件jpg格式,大小在20KB以下 4、照片像素大小,295*413像素 5、照片必须使用审核工具审核后才能上传...

2023年出版的新书中提到的《人月神话》(202402更新)(1)
DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 《人月神话》于1975年出版,1995年出二十周年版。自出版以来,该书被大量的书籍和文章引用,直到现在热潮不退。 2023年,清华大学出版社推…...