When using the Git-TF tools, there are a few recommended settings that should make it easier to work with other developers that are using TFS.
core.autocrlf = false
Git has a feature to allow line endings to be normalized for a repository, and it provides options for how those line endings should be set when files are checked out. TFS does not have any feature to normalize line endings - it stores exactly what is checked
in by the user. When using Git-TF, choosing to normalize line endings to Unix-style line endings (LF) will likely result in TFS users (especially those using VS) changing the line endings back to Windows-style line endings (CRLF). As a result, it is recommended
to set the core.autocrlf option to false, which will keep line endings unchanged in the Git repo.
core.ignorecase = true
TFS does not allow multiple files that differ only in case to exist in the same folder at the same time. Git users working on non-Windows machines could commit files to their repo that differ only in case, and attempting to check in those changes to TFS
will result in an error. To avoid these types of errors, the
core.ignorecase option should be set to true.
Having a .gitignore file for your project helps make sure that only the files you care about are versioned, and not the files that are just temporary or for your local machine only. Take a look at the
gitignore project on GitHub for sample .gitignore files for various application types including