Множество людей здесь предложили введение и подробные практические рекомендации, которые помогут рассказать вам, как делать то, что вы хотите.
Кроме того, я бы дал три совета новичку о том, как узнать, что вы хотите:
1) Контроль версий ВСЁ (то есть всё, что ты пишешь).
Контроль версий файлов проекта. Контроль версий ваших тестов. Контроль версий любых маленьких скриптов, которые вы используете для копирования вещей. Контроль версий вашего списка задач. Определенно, версия контроля вашего дизайна заметок. Как только вы ознакомитесь с командами, это ничего не будет стоить, и однажды вы будете рады истории файла, который вы даже не предполагали откатить.
2) Если вы довольны изменением, немедленно проверьте его. И проверь все это.
Если вы работаете в последовательных шагах (и это не всегда происходит - вы можете отвлекаться - но это хорошая практика), то в начале каждого нового шага у вас должно быть 0 измененных файлов в вашей проверке. Вы можете даже захотеть проверить незаконченный нерабочий код в зависимости от того, что вам подходит.
3) Когда вы достигнете вехи, отметьте ее.
Даже ваши собственные личные цели (дюймовые камешки). Если вы не можете быть обеспокоены тегами, просто запишите дату и время (как вы уже догадались, файл с управлением версиями). Если по какой-то причине какая-то конкретная версия запоминается («Я закончил бэкэнд», «Я отправил ее кому-то еще, чтобы посмотреть»), вы хотите точно знать, что в ней было. А различие в репозитории диагностирует некоторые ошибки быстрее, чем отладчик.