GIT对VS工程中的无用文件过滤

原创 2015年07月06日 22:00:42
 VS2010工程中的*.vcxproj.filters文件
   
    近日在学习使用Git,其中有一点是clone,主要是以下两个命令行:

    “git clone –bare test test.git”

    “git clone test.git test”

    命令解释参见Git命令行介绍和使用说明
    使用命令一可以将Git管理的工程test中的镜像文件抽取出来,存储到test.git目录(代码服务器中存储代码的形式)中;然后可以使用命令二从镜像中恢复工程。我遇到的问题是:从Git控制的镜像中恢复VS2010工程,打开后工程树默认分类的虚拟目录消失。即下图中红色方框中所示目录:
 
只剩下为分类的源码文件。
    原因:在将Test工程提交给Git管理时漏掉了Test.vcxproj.filters这个文件。
    *.vcxproj.filters就是用于项目下文件的虚拟目录,不能丢弃。将其重新添加进来即可。

 

    VS2010中各种类型文件的作用:

    .sln 相当于VC6中 .dsw
    .vcxproj 相当于VC6中 .dsp
    .suo 相当于VC6中 .ncb
    .vcxproj.filters 用于项目下文件的虚拟目录
    .vcxproj.user 是用户的一些相关配置

    其它文件和文件夹(res除外)一般都是中间物,在保存工程时删除不会有大问题。删除一些不重要的文件可以大大减少整个工程文件大小,节省磁盘空间。

    将VS2010工程提交给Git管理时需要哪些文件:

     guyue注: VS2013, 2015的git管理中也是需要这些文件, *.qrc我猜测就是rc文件

    *.h  *.cpp  *.sln  *.vcxproj  *.vcxproj.filters  *.qrc

    以及Resources目录下的资源文件。

    如果使用Git的过滤配置,则还需要.gitignore文件。

    其他的诸如*.suo  *.sdf  *.opensdf  *.vcxproj.user均可以过滤掉!

    guyue注: 即直接把这些通配文件名(*.suo等)添加到.gitignore文件中, 一个一行,  即可实现git过滤


 


      以下为guyue  使用VS2015自带的git管理,    默认生成的.gitignore文件,   按理说只要把下面内容复制到.gitignore文件中, 即可实现git对VS工程的各种文件忽略了

## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.


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


# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
x64/
build/
bld/
[Bb]in/
[Oo]bj/


# Roslyn cache directories
*.ide/


# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*


#NUNIT
*.VisualState.xml
TestResult.xml


# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c


*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc


# Chutzpah Test files
_Chutzpah*


# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opensdf
*.sdf
*.cachefile


# Visual Studio profiler
*.psess
*.vsp
*.vspx


# TFS 2012 Local Workspace
$tf/


# Guidance Automation Toolkit
*.gpState


# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user


# JustCode is a .NET coding addin-in
.JustCode


# TeamCity is a build add-in
_TeamCity*


# DotCover is a Code Coverage Tool
*.dotCover


# NCrunch
_NCrunch_*
.*crunch*.local.xml


# 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
## TODO: Comment the next line if you want to checkin your
## web deploy settings but do note that will include unencrypted
## passwords
#*.pubxml


# NuGet Packages Directory
packages/*
## TODO: If the tool you use requires repositories.config
## uncomment the next line
#!packages/repositories.config


# Enable "build/" folder in the NuGet Packages folder since
# NuGet packages use it for MSBuild targets.
# This line needs to be after the ignore of the build folder
# (and the packages folder if the line above has been uncommented)
!packages/build/


# Windows Azure Build Output
csx/
*.build.csdef


# Windows Store app package directory
AppPackages/


# Others
sql/
*.Cache
ClientBin/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.pfx
*.publishsettings
node_modules/
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


# SQL Server files
*.mdf
*.ldf


# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings


# Microsoft Fakes
FakesAssemblies/


# LightSwitch generated files
GeneratedArtifacts/
_Pvt_Extensions/
ModelManifest.xml

版权声明:本文为博主原创文章,未经博主允许不得转载。

Visual Studio .gitignore样例

Visual Studio .gitignore样例 /.svn/entries .svn ## Ignore Visual Studio temporary files, build result...
  • leolinsheng
  • leolinsheng
  • 2016年02月19日 17:32
  • 1492

VS2013使用GIT时排除NuGet的packages文件夹

VS2013已经集成了GIT工具 但是在提交会把NUGET的PACKAGES也提交上去,那是比较大的文件夹,而且没什么必要提交。 修改.gitignore也没用后来发现要这样做才可以 ...
  • startexcel
  • startexcel
  • 2014年01月18日 18:29
  • 5072

vs项目中的筛选器(filter)

原文地址: http://my.oschina.net/ypimgt/blog/185793 使用vs2010开发项目时,有时源码文件过多,想按功能进行分类管理,这个时候就...
  • puppet_master
  • puppet_master
  • 2015年09月13日 00:01
  • 2213

VC++(VS2008)文件遍历同时进行文件过滤

  • 2010年09月09日 13:22
  • 84KB
  • 下载

Git过滤文件和文夹

第一步:添加".gitignore"文件 往项目根目录添加一个文件".gitignore"。这文件和".git"文件夹同级。 但是在windows下无法创建".gitignore"文件名,...
  • infsafe
  • infsafe
  • 2014年11月04日 19:51
  • 1600

Git之忽略文件(ignore file)

1、    环境 Windows XP SP3 + TortoiseGit + msysGit   2、  ignore files的三种方法   以下涉及的ignore文件均为如下格式: ...
  • benkaoya
  • benkaoya
  • 2012年09月01日 15:41
  • 281326

Visual Studio工程各种临时文件的Git Ignore设置标准文件

## Ignore Visual Studio temporary files, build results, and ## files generated by popular Visual St...
  • kaddakkaddak
  • kaddakkaddak
  • 2016年01月26日 15:49
  • 1193

git学习六:git提交忽略不必要的文件或文件夹

创建maven项目,使用git提交,有时需要忽略不必要的文件或文件夹,只保留一些基本。 例如如下截图,实际开发中我们只需提交:src,.gitignore,pom.xml 而自己项目文件一般都保留,...
  • u014079773
  • u014079773
  • 2016年06月07日 14:33
  • 37083

Git 中忽略某些文件或者文件夹

Git 中忽略某些文件或者文件夹 有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件啦,等等,每次git status都会显示“Untracke...
  • YLGWHYH
  • YLGWHYH
  • 2016年08月18日 22:11
  • 23340

使用Git版本控制 .gitignore 忽略不需要提交的文件

团队协作开发的时候,每个人都要提交文件,为了避免不必要的文件提交,我们要进行一个简单的配置来忽略一些文件,只提交必要的文件。https://segmentfault.com/a/11900000029...
  • u011733020
  • u011733020
  • 2016年07月07日 10:15
  • 11191
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:GIT对VS工程中的无用文件过滤
举报原因:
原因补充:

(最多只允许输入30个字)