前言:

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

需要忽略提交的文件:

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

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

以下是一个.NET/.NET Core相关项目的忽略文件模板只要是使用VisualStudio开发的项目都可以使用:

gitnore忽略文件模板来源:https://github.com/github/gitignore/blob/master/VisualStudio.gitignore,该项目中有众多的编程语言或IDE相关.gitgnore配置,可以下载下来直接使用。

## 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/master/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
*.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 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/ # 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

.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

该忽略规则参考地址:https://blog.csdn.net/sundna/article/details/90749495

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

  我们可能在开发的时候可能一时没有注意添加忽略文件配置(gitignore),把这些文件推送到远程仓库中,我们有以下两种做法解决:

1、把本地这些文件删除再提交到远端(前提是这些文件是环境变量文件,假如是无法自动生成的不推荐)。

2、使用以下git 命令:

//当我们需要删除暂存区或分支上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制, 可以使用
git rm -r --cached file_path(文件路径)
git commit -m 'delete remote somefile'
git push

如我需要移除某个项目中的obj文件然后提交:

该文件路径为:D:\开发学习-Master\我的训练营\DailyLearning\工作&学习.Net训练营\Application\obj  

输入:git rm -r --cached Application/obj

执行成功后,文件将从该分支中删除,最后我们提交到远程仓库即可。

Visual Studio使用Git忽略不想上传到远程仓库的文件的更多相关文章

  1. git将本地项目上传到远程仓库

    1.cd mygit 打开项目文件夹 2.git init 初始化git 3.git remote add origin xxx(远程仓库地址)  添加远程库   git remote -v 查看远程 ...

  2. 把本地git仓库的项目上传到远程仓库

    之前在学校实验室服务器上建了一个git远程仓库,存放我写的express项目代码.后来由于出去实习,就无法访问那个远程仓库了,因为它在校园网内. 还好我的笔记本中有这个项目完整的本地仓库,于是我就试着 ...

  3. Eclipse中使用GIT将已提交到本地的文件上传至远程仓库

    GIT将已提交到本地的文件上传至远程仓库: 1.  右击项目——Team——Push to Upstream,即可将已保存在本地的文件上传推至GIT远程仓库.

  4. 如何使用git把本地代码上传到远程仓库上

    初始化 git init 查看当前仓库状态 git status 将项目的文件添加到仓库中 git add test.txt git add -A git add . 将add的文件commit到仓库 ...

  5. git将本地仓库中的文件上传到远程仓库

    现在我们开始创建本地git仓库(版本库又叫仓库) (本地仓库:$ git init之后的目录): 1.任意地方新建文件夹aaa,右击git bash here, 2.弹出一个对话框, 3. 首先配置你 ...

  6. 分布式版本控制系统Git-----2.上传至远程仓库之基础版

    好,之前已经将文档下载下来了,但是我感觉还是将自己之前截的图放出来比较好,自己整理的,但是总不能放桌面上,时间久了也会忘得,索性放到博客上吧,也便于其他人查看,简直是百利而无一害啊.哈哈.来吧. 注意 ...

  7. 【maven】如何将一个已有的jar文件,生成maven坐标,并上传至远程仓库

    [一]如何将一个已有的jar文件,生成maven坐标 使用maven构建项目需要在项目中引入自定义的一些包,也像maven一样在工程的pom.xml中引入相应的坐标,这时候我们就要自己把包上传到本地仓 ...

  8. git将本地仓库上传到远程仓库

    在已有的Git库中搭建新库,并且将本地的git仓库,上传到远程服务器的git库中,从而开始一个新的项目 首先,在本地新建文件夹abc,进入到abc里面,然后git init.这样就在本地初始化了一个g ...

  9. git忽略一些提交上传的文件

    在项目开发的过程中有两种文件是不需要提交的. 1.一些很重要的配置文件 包括服务器地址 账号密码 数据库密码 公私钥等等 2.一些由于开发和沙箱环境和线上环境的差异 不能使用同一个时候 需要同一个文件 ...

随机推荐

  1. D. Serval and Rooted Tree (樹狀DP)

    Codeforce 1153D Serval and Rooted Tree (樹狀DP) 今天我們來看看CF1153D 題目連結 題目 給一棵數,假設有$k$個葉節點,我們可以給葉節點分配$1$~$ ...

  2. Jenkins配置,tomacat版本输出乱码和页面打开报404的问题

    1.打开tomact下的startup.bat,tomcat版本控制台中文输出乱码,解决方法是去tomacat安装路径下的conf目录,打开logging.properties文件,将java.uti ...

  3. Educational Codeforces Round 95 (Rated for Div. 2)

    CF的Educational Round (Div.2),质量还是蛮高的. A: 水题 #include<cstdio> #include<algorithm> typedef ...

  4. Mybatis入门 Mybatis存在的意义 解决的问题 基本操作

    Mybatis入门 Mybatis的作用 解决的问题 基本操作 为什么要学MyBatis 我们链接操作数据库需要做的步骤 package Test; import java.sql.*; public ...

  5. ASP.NET Core Authentication系列(三)Cookie选项

    前言 在本系列第一篇文章介绍了ASP.NET时代如何认证,并且介绍了如何通过web.config文件来配置Auth Cookie的选项. 第二篇文章介绍了如何使用Cookie认证,本文介绍几个常见的C ...

  6. Learn day6 模块pickle\json\random\os\zipfile\面对对象(类的封装 操作 __init__)

    1.模块 1.1 pickle模块 # ### pickle 序列化模块 import pickle """ 序列化: 把不能够直接存储的数据变得可存储 反序列化: 把数 ...

  7. 从小白到 6 个 offer,我究竟是怎么刷题的?

    最近自习室里又兴起了一阵刷题潮,大家相约刷题~ 今天和大家系统分享下我去年转行时的一个刷题过程和方法,希望对你有所帮助. 首先介绍下我的编程基础,我学的是金融工程专业,硕士时学过 C++ 的课,这也是 ...

  8. WC2019 填坑记

    2019年1月8日 1.Luogu P2147 [SDOI2008]洞穴勘测 (LCT模板题&LCT学习) 2019年1月9日 2.LuoguP3203 [HNOI2010]弹飞绵羊  (LC ...

  9. 【Java】类的结构

    类与对象 类中主要包括五种结构,下面进行对这五种结构进行详细的介绍. 1. 面向对象与面向过程 面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做. 面向对象:强调具备了功能的对象,以类/对象为 ...

  10. DM的SQL优化入门笔记

    1.查看执行计划EXPLAIN SELECT A.C1+1,B.D2 FROM T1 A, T2 B WHERE A.C1 = B.D1; 2.执行计划: 1 #NSET2: [0, 16, 9] 2 ...