Это, безусловно, личный выбор, когда вы регистрируетесь и что вы регистрируете. Некоторыми вещами, которые могут помочь определить лучший выбор, будет то, используете ли вы центральную или распределенную систему контроля версий, а также, если над кодом работает команда или отдельное лицо.
В распределенных системах то, что вы регистрируете, является локальным для вас, и только то, что вы выбираете, чтобы передать другим, это то, что они видят, поэтому, если у вас сломано дерево, потому что вы часто регистрируетесь, это не имеет значения, тогда как с центральным хранилище, если вы проверяете ствол, тогда, как правило, рекомендуется проверять только рабочий код. Как бы вы себя чувствовали, если бы вы обновили свое дерево, а кто-то в вашей команде нарушил код, и ваша копия больше не будет компиляции. Простой способ обойти эту проблему в настройке центрального репозитория состоит в том, чтобы разветвлять код магистрали, часто вносить изменения, а затем, когда вы довольны, что он работает правильно, вы можете затем объединить ветвь обратно в транк. Таким образом, вы не мешаете транку всегда находиться в рабочем состоянии, что полезно для его сохранения. Это становится еще более важным, когда вы добавляете людей в свою команду.
Что касается возврата к предыдущим версиям, это не проблема, если он был зарегистрирован в хранилище. Вы можете вернуться на любое количество версий, просматривая журнал фиксации, а затем с помощью соответствующей команды вернуться к определенной ревизии.