Developing in Unity

.gitignore
The only folders that require version control are Assets and ProjectSettings but Unity generates a lot of temporary files that don't need to be committed so use this as a base .gitignore

Unity Settings
Switch to Visible Meta Files in Edit → Project Settings → Editor → Version Control Mode.

Enable External option in Unity → Preferences → Packages → Repository

Switch to Force Text in Edit → Project Settings → Editor → Asset Serialization Mode.

After that is done you can do an initial commit.

Visual Studio
If you do not like MonoDevelop which comes as standard with Unity you can download this plugin for Visual Studio - https://visualstudiogallery.msdn.microsoft.com/20b80b8c-659b-45ef-96c1-437828fe7cf2

You can use any editor for scripting but you will not have certain features outside of MonoDevelop and Visual Studio (with the plugin) such as interactive breakpoints for debugging.

Microsoft offers a version of Visual Studio for free or you can get the ultimate version for free from https://www.dreamspark.com/ as a Heriot-Watt student.

Other
There is a syntax highlighting addon for Sublime Text available here - https://sublime.wbond.net/packages/Unity3D