title: Entity framework ".tt" and ".Context.tt" files should be added to ".gitignore"?
body: <p>I have a project written in <code>C# 6.0</code> which is using <code>Entity Framework</code> for ORM related operations. We are using <code>git</code> for source control and the following file as <code>.gitignore</code>:</p>
  
  <pre><code>## 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
  
  # 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
  # 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
  *.jfm
  *.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 &amp; 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
  
  # CodeRush
  .cr/
  
  # Python Tools for Visual Studio (PTVS)
  __pycache__/
  *.pyc
  
  # Cake - Uncomment if you are using it
  # tools/
  </code></pre>
  
  <p>After adding some code to our project using <code>Entity Framework</code> I started to wonder if some of the auto generated files should be added to <code>.gitignore</code> or not. To be more specific, my concern is about <code>.tt</code> and <code>.Context.tt</code> files. I know that this files are auto generated and I remember reading somewhere on SO that these kind of files should not be added to the repository. Right now, I don't really have a problem with these files, but I found really hard to review a pull request when these files keep showing. So, my question is whatever I should or I should not add these file to <code>.gitignore</code>?</p>