Создание временных веток для отдельных тем / функций / задач хорошо . Ты делаешь это правильно. Не останавливайтесь только на «разработке» - «featureA», «bugX», «bugX-testing», всё, что вам нужно, сделайте это!
Ветвь практически не занимает места. Это указатель на коммит в его подсказке, поэтому он представлен в виде файла (.git/refs/heads/branch-name
), содержимое которого является просто SHA1 этого коммита. Маленький крошечный. В конце концов они могут быть собраны в файл packed-refs
, который представляет собой просто строку на ветку - имя и SHA1, даже меньше, чем оригинал! (Git делает это, чтобы избежать слишком большого количества файлов в репо, который имеет, скажем, 1000 тегов минорных / выпусков вспомогательных версий в своей истории.) Они также имеют рефлоги, которые записывают строку каждый раз, когда позиция изменений в ветке (попробуйте git reflog show
, чтобы увидеть reflog для HEAD), но опять же, это довольно мало - и оно удаляется, когда вы удаляете ветку.