visual studio tutorial - Publishing your project to a github repository removing sensitive data - microsoft studio - microsoft visual



Publishing your project to a github repository removing sensitive data

  • the steps in this example will use the following project structure as a demonstration
solution-explorer

Learn Visual Studio - Visual Studio tutorial - solution explorer - Visual Studio examples - Visual Studio programs

and we intend to export it to the "GHTuts" Repository [Note that the Repo doesn't exist yet on github] but leave the "SensitiveProject" without publish as it contains some passwords, keys, etc..

  • First of all we make sure the source control plug in is set to "Git" in "Tools > Options > Plug-in Selection"
plug in selection for github

Learn Visual Studio - Visual Studio tutorial - plug in selection for github - Visual Studio examples - Visual Studio programs

  • If you can't see the "Team Explorer" tab, view it in visual studio like this
team explorer tab

Learn Visual Studio - Visual Studio tutorial - team explorer tab - Visual Studio examples - Visual Studio programs

1.Go to your local solution folder and create a new file called ".gitignore.txt" [Note] this step is only important if you have some sensitive information in your project,otherwise, let visual studio create it for you
2.Now open the ".gitignore.txt" file and paste this in it, this is a template for ignoring common visual studio files (check the links below)

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

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

# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs

# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/

# Visual Studio 2015 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/

# 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

# DNX
project.lock.json
project.fragment.lock.json
artifacts/

*_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
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb

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

# 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 add-in
.JustCode

# TeamCity is a build add-in
_TeamCity*

# DotCover is a Code Coverage Tool
*.dotCover

# 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
# TODO: 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
# The packages folder can be ignored because of Package Restore
**/packages/*
# except build/, which is used as an MSBuild target.
!**/packages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/packages/repositories.config
# NuGet v3's project.json files produces more ignoreable 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

# 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
*.pfx
*.publishsettings
node_modules/
orleans.codegen.cs

# 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

# SQL Server files
*.mdf
*.ldf

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

# Microsoft Fakes
FakesAssemblies/

# GhostDoc plugin setting file
*.GhostDoc.xml

# Node.js Tools for Visual Studio
.ntvs_analysis.dat

# Visual Studio 6 build log
*.plg

# Visual Studio 6 workspace options file
*.opt

# 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/

# JetBrains Rider
.idea/
*.sln.iml
click below button to copy the code. By Visual studio tutorial team

3. Now add your sensitive project folder to the ".gitignore.txt" file at any line that doesn't contain #, so just add it at the very end, and it should look something like this

sensitive-project-folder

Learn Visual Studio - Visual Studio tutorial - sensitive project folder - Visual Studio examples - Visual Studio programs

4. Right click on the solution and choose "Add Solution to Source Control..."

add solution to source control

Learn Visual Studio - Visual Studio tutorial - add solution to source control - Visual Studio examples - Visual Studio programs

[Note] it might ask you to save the solution before you continue

5. Now you have a "LOCAL" git Repo on your pc , which VS will read from,but without a github Repo, and you will see a small blue lock icon next to each file in the solution that was added to git and a red circle at the ignored project

local sensitive project in github

Learn Visual Studio - Visual Studio tutorial - local sensitive project in github - Visual Studio examples - Visual Studio programs

[Note] for more information about .gitignore file, check these links

6. Go to the "Team Explorer" tab and then "Sync"

7. Now we create a repo from vs to github like this, press the "Get Started" button

create a repo from visual studio

Learn Visual Studio - Visual Studio tutorial - create a repo from visual studio - Visual Studio examples - Visual Studio programs

8. Now fill in your information in github for the new Repo, then click "Publish"

publish the new repo in github

Learn Visual Studio - Visual Studio tutorial - publish the new repo in github - Visual Studio examples - Visual Studio programs

9. Now when we go to github we see our local repo got published to github without our sensitive project

[Note] the url of the repo will look something like this

https://github.com/<user name>/<repo name>
click below button to copy the code. By Visual studio tutorial team

Related Searches to visual studio tutorial - Publishing your project to a github repository removing sensitive data