У меня есть частный сервер под управлением git 1.7 Когда я
git init
папка не создает основную ветку. Потому что, когда я делаю:
git branch
это ничего не перечисляет. Когда я делаю:
git --bare init
это создает файлы. Когда я печатаю
git branch master
это говорит:
fatal: Not a valid object name: 'master'.
git branch newbranch
Ответы:
Это правда и ожидаемое поведение. Git не будет создавать
master
ветки, пока вы не совершите что-то.Non-bare
git init
также создаст те же файлы в скрытой.git
директории в корне вашего проекта.Это опять правильное поведение. Пока вы не совершите, нет мастера ветки.
Вы не задавали вопрос, но я отвечу на вопрос, который, как я предполагал, вы хотите задать. Добавьте один или несколько файлов в ваш каталог, и
git add
их, чтобы подготовить фиксацию. Затемgit commit
создать свой начальный коммит иmaster
ветвь.источник
.git/HEAD
и изменитеrefs/heads/master
наrefs/heads/main
, но нет никакой причины делать это. Просто переименуйте свою ветку после первого коммита.git checkout -b <branchname>
для изменения заголовка - вам не нужно редактировать файл.Git создает основную ветку, как только вы сделали свой первый коммит. Нет ничего для ветки, если в хранилище нет кода.
источник
Во-первых, когда вы создаете «пустой репозиторий», вы не собираетесь с ним работать (он не содержит рабочей копии, поэтому
git branch
команда бесполезна).Причина, по которой у вас не будет
master
ветки даже после выполнения команды a,git init
заключается в том, что коммитов нет: когда вы создаете свой первый коммит, у вас будетmaster
ветвь.источник
git clone
чтобы избавиться от необходимости делатьgit init
на стороне получателя.git checkout
если вы хотите, чтобы WC отражал то, что находится в.git
каталоге (куда вы нажали).Перед созданием новой ветки вам нужно зафиксировать хотя бы один раз на master.
источник