Ответ 1
Git представляет ветки как указатели на последнюю фиксацию в этой ветке. Если вы еще не создали фиксацию, для этой ветки ничего не нужно. Таким образом, вы не можете создавать ветки до тех пор, пока не получите хотя бы одну фиксацию.
Git представляет собой фиксацию в качестве ссылки на одну или несколько родительских коммит (или родитель всех нулей, если это начальная фиксация), сообщение фиксации и некоторые другие метаданные и ссылка на дерево. Дерево в основном является манифестом того, что есть в каждом файле в каждом каталоге. Если ваш каталог пуст, в дерево нечего помещать. Теперь на самом деле можно создать пустую фиксацию в качестве вашей первой фиксации; вы можете запустить git commit --allow-empty -m "initial commit"
. Но это не обычный способ использования Git.
В Git вы ожидаете, что не будете использовать ветки, если они вам не нужны. Нет необходимости создавать несколько ветвей, пока у вас не будет какой-либо контент для ветвления. Если вы создадите три ветки в самом начале разработки, у вас нет общего происхождения между ними? В таком случае, почему бы просто не создать три репозитория? Или вы собираетесь обновлять все три из них синхронно, пока они не начнут расходиться? Это похоже на большую работу, чтобы держать их в курсе последних событий; вы должны просто ждать, чтобы создать их, пока они не будут расходятся.
Но если вы хотите использовать этот рабочий процесс, вы можете запустить git commit --allow-empty -m "initial commit"
, чтобы создать пустую начальную фиксацию.