.gitignore Windows

It’s a good idea to add a .gitignore file to your Git-repository, to keep Git from keeping track of certain files and/or folders. This could be Visual Studio debug/build files, etc.

The problem in Windows however, is that you can’t just create a text file and rename it to “.gitignore”, as you’ll see the error:

Gitignore Windows

A little trick, is to create a text file and rename it to:
[code].gitignore.[/code]

Windows now lets you create the file.

Here’s a sample .gitignore, which tells Git to ignore the most common files not needed in the repository.
Place the file in your Git-repositories root directory (/projectname/.gitignore).

[code]
## 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/
[Rr]elease/
x64/
build/
#[Bb]in/ #(Keep "bin" folder in repo. Uncomment to remove)
[Oo]bj/

# Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets
!packages/*/build/

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

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

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

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

# Guidance Automation Toolkit
*.gpState

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

# TeamCity is a build add-in
_TeamCity*

# DotCover is a Code Coverage Tool
*.dotCover

# NCrunch
*.ncrunch*
.*crunch*.local.xml

# 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
*.Publish.xml
*.pubxml

# NuGet Packages Directory
## TODO: If you have NuGet Package Restore enabled, uncomment the next line
#packages/

# Windows Azure Build Output
csx
*.build.csdef

# Windows Store app package directory
AppPackages/

# Others
sql/
*.Cache
ClientBin/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
*.[Pp]ublish.xml
*.pfx
*.publishsettings

# 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
App_Data/*.mdf
App_Data/*.ldf

# =========================
# Windows detritus
# =========================

# Windows image file caches
Thumbs.db
ehthumbs.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Mac crap
.DS_Store
[/code]

Create and pull from shared repository with Git in 5 steps

Earlier, I have been using Mercurial for source control, but at my new job, we decided to go with Git. Even though both solutions are much alike, there’s still new stuff to be learned and explored. I’ll try to post some guides and tips as I adventure into the world of Git.

First a quick 5 step guide to create a shared repository on your local disk or network drive, and then pull it to your working directory.

Create repository:
X:\Projects\git init --bare test_project.git

Pull repository:
C:\Projects\git clone file://X:/Projects/test_project.git
Put files into your repository

git add .
git commit -a -m"Initial commit"
git push

That’s basically it!
I’ll post a more in depth guide with explanations later on.