当前位置:首页 > 科技  > 软件

Visual Studio使用Git忽略不想上传到远程仓库的文件

来源: 责编: 时间:2023-11-02 09:09:27 461观看
导读前言作为一个.NET开发者而言,有着宇宙最强IDE:Visual Studio加持,让我们的开发效率得到了更好的提升。我们不需要担心环境变量的配置和其他代码管理工具,因为Visual Studio有着众多的拓展工具。废话不多说,直接进入正题。

前言

作为一个.NET开发者而言,有着宇宙最强IDE:Visual Studio加持,让我们的开发效率得到了更好的提升。我们不需要担心环境变量的配置和其他代码管理工具,因为Visual Studio有着众多的拓展工具。废话不多说,直接进入正题。我们日常在使用Visual Studio开发相关的.NET项目时,经常会发现刚拉取下拉的代码什么都没有改动,就是运行了一下就会产生一些需要提交的文件,比如说最常见的bin/Debug, bin/Release,obj/Debug,obj/Release文件。但是我不想把这些文件提交到远程的git代码远程仓库中去,其实这个很简单只需要我们在初次创建项目的时候在项目目录下新增一个忽略文本文件(.gitignore),然后在使用git推送到远程仓库中就好了。2Rb28资讯网——每日最新资讯28at.com

需要忽略提交的文件

图片图片2Rb28资讯网——每日最新资讯28at.com

配置.gitignore忽略文件,忽略不需要提交的文件

添加Visual Studio的.gitgnore模板到项目中

图片图片2Rb28资讯网——每日最新资讯28at.com

C#/.NET/.NET Core相关项目的忽略文件模板(VisualStudio.gitignore)

只要是使用VisualStudio开发的项目都可以使用该模板。2Rb28资讯网——每日最新资讯28at.com

  • 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 filesmono_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 filesGenerated/ Files/# MSTest test Results[Tt]est[Rr]esult*/[Bb]uild[Ll]og.*# NUnit*.VisualState.xmlTestResult.xmlnunit-*.xml# Build Results of an ATL Project[Dd]ebugPS/[Rr]eleasePS/dlldata.c# Benchmark ResultsBenchmarkDotNet.Artifacts/# .NET Coreproject.lock.jsonproject.fragment.lock.jsonartifacts/# ASP.NET ScaffoldingScaffoldingReadMe.txt# StyleCopStyleCopReport.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 filesipch/*.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 Toolcoverage*.jsoncoverage*.xmlcoverage*.info# Visual Studio code coverage results*.coverage*.coveragexml# NCrunch_NCrunch_*.*crunch*.local.xmlnCrunchTemp_*# MightyMoose*.mm.*AutoTest.Net/# Web workbench (sass).sass-cache/# Installshield output folder[Ee]xpress/# DocProject is a documentation generator add-inDocProject/buildhelp/DocProject/Help/*.HxTDocProject/Help/*.HxCDocProject/Help/*.hhcDocProject/Help/*.hhkDocProject/Help/*.hhpDocProject/Help/Html2DocProject/Help/html# Click-Once directorypublish/# 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 unencryptedPublishScripts/# 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 Outputcsx/*.build.csdef# Microsoft Azure Emulatorecf/rcf/# Windows Store app package directories and filesAppPackages/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/# OthersClientBin/~$**~*.dbmdl*.dbproj.schemaview*.jfm*.pfx*.publishsettingsorleans.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 projectsGenerated_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*.XMLUpgradeLog*.htmServiceFabricBackup/*.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 FakesFakesAssemblies/# GhostDoc plugin setting file*.GhostDoc.xml# Node.js Tools for Visual Studio.ntvs_analysis.datnode_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.exepaket-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 resultsOpenCover/# Azure Stream Analytics local run outputASALocalRun/# 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 databasehealthchecksdb# Backup folder for Package Reference Convert tool in Visual Studio 2017MigrationBackup/# Ionide (cross platform F# VS Code tools) working folder.ionide/# Fody - auto-generated XML schemaFodyWeavers.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/TODObuild/    # 忽略 build/ 目录下的所有文件doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

处理已提交到远程仓库中的文件

可能在开发的时候忘记添加忽略文件配置(gitignore),把这些文件推送到远程仓库中,我们有以下两种做法解决:2Rb28资讯网——每日最新资讯28at.com

  • 1、把本地这些文件删除再提交到远端(前提是这些文件是环境变量文件,假如是无法自动生成的不推荐)。
  • 2、使用以下git 命令:
//当我们需要删除暂存区或分支上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制, 可以使用git rm -r --cached file_path(文件路径)  //把file_path文件在当前分支的暂存区中删除git add .                               //提交当前操作本地暂存区git commit -m 'delete remote somefile'  //提交到本地git仓库git push                                //提交到远程代码库

如我需要移除某个项目中的obj文件然后提交:2Rb28资讯网——每日最新资讯28at.com

该文件路径为:D:/开发学习-Master/我的训练营/DailyLearning/工作&学习.Net训练营/Application/obj2Rb28资讯网——每日最新资讯28at.com

输入以下命令移除相关不需要跟踪的文件:2Rb28资讯网——每日最新资讯28at.com

git rm -r --cached Application/obj

执行成功后,文件将从该分支中删除(本地还会存在),最后我们提交到远程仓库即可。2Rb28资讯网——每日最新资讯28at.com

图片图片2Rb28资讯网——每日最新资讯28at.com

图片图片2Rb28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-16528-0.htmlVisual Studio使用Git忽略不想上传到远程仓库的文件

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: AutoCAD 产品设计:图形单位

下一篇: 在Lombok的加持下,“小狗”.Equals(“老狗”) = True

标签:
  • 热门焦点
  • Mate60手机壳曝光 致敬自己的经典设计

    8月3日消息,今天下午博主数码闲聊站带来了华为Mate60的第三方手机壳图,可以让我们在真机发布之前看看这款华为全新旗舰的大致轮廓。从曝光的图片看,Mate 60背后摄像头面积依然
  • 对标苹果的灵动岛 华为带来实况窗功能

    继苹果的灵动岛之后,华为也在今天正式推出了“实况窗”功能。据今天鸿蒙OS 4.0的现场演示显示,华为的实况窗可以更高效的展现出实时通知,比如锁屏上就能看到外卖、打车、银行
  • 影音体验是真的强 简单聊聊iQOO Pad

    大公司的好处就是产品线丰富,非常细分化的东西也能给你做出来,例如早先我们看到了新的vivo Pad2,之后我们又在iQOO Neo8 Pro的发布会上看到了iQOO的首款平板产品iQOO Pad。虽
  • vivo TWS Air开箱体验:真轻 臻好听

    在vivo S15系列新机的发布会上,vivo的最新款真无线蓝牙耳机vivo TWS Air也一同发布,本次就这款耳机新品给大家带来一个简单的分享。外包装盒上,vivo TWS Air保持了vivo自家产
  • CSS单标签实现转转logo

    转转品牌升级后更新了全新的Logo,今天我们用纯CSS来实现转转的新Logo,为了有一定的挑战性,这里我们只使用一个标签实现,将最大化的使用CSS能力完成Logo的绘制与动画效果。新logo
  • 一个注解实现接口幂等,这样才优雅!

    场景码猿慢病云管理系统中其实高并发的场景不是很多,没有必要每个接口都去考虑并发高的场景,比如添加住院患者的这个接口,具体的业务代码就不贴了,业务伪代码如下:图片上述代码有
  • 一文搞定Java NIO,以及各种奇葩流

    大家好,我是哪吒。很多朋友问我,如何才能学好IO流,对各种流的概念,云里雾里的,不求甚解。用到的时候,现百度,功能虽然实现了,但是为什么用这个?不知道。更别说效率问题了~下次再遇到,
  • 与兆芯合作 联想推出全新旗舰版笔记本电脑开天N7系列

    联想与兆芯合作推出全新联想旗舰版笔记本电脑开天 N7系列。这个系列采用兆芯KX-6640MA处理器平台,KX-6640MA 处理器是采用了陆家嘴架构,16nm 工艺,4 核 4 线
  • 世界人工智能大会国际日开幕式活动在世博展览馆开启

    30日上午,世界人工智能大会国际日开幕式活动在世博展览馆开启,聚集国际城市代表、重量级院士专家、国际创新企业代表,共同打造人工智能交流平台。上海市副市
Top