Version Control in Unity

There are several ways to do version control in Unity. What works for me is the regular git command line. Here's my workflow.

Available options

There is a full "mission" on Unity Learn on how to do it.

Version Control and Optimization - Unity Learn
Welcome to Version Control and Optimization, the final Junior Programmer mission! You’ll finish this learning pathway by learning about techniques to debug and optimize Unity projects. This includes using tools such as the Profiler, object pooling, exploring efficient use of Prefabs, and developing …

Unity has its own service called Unity Collaborate, which I haven't yet learned about. Then there's a GitHub plugin for Unity. https://learn.unity.com/tutorial/working-with-unity-and-github. However I've found that they implemented a poorly made GitHub client. It's just as easy to use the regular git command line.

Regular git

I initialize my repo by doing git init, then bring in the same as the Unity GitHub for Unity plugin at https://github.com/github/gitignore/blob/master/Unity.gitignore.