Вы еще не родились в филиале
У меня есть странная проблема:
$ cd ~/htdocs
$ mkdir test
$ cd test
$ git init
Initialized empty Git repository in /home/deep/htdocs/test/.git/
$ git checkout master
error: pathspec 'master' did not match any file(s) known to git.
$ git checkout -b master
fatal: You are on a branch yet to be born
$ git checkout origin/master
error: pathspec 'origin/master' did not match any file(s) known to git.
$ git branch -a
(empty this)
Но это новое локальное пустое репо. Где главная ветка?
Ответы
Ответ 1
Как всегда, Git прав, он просто имеет причудливый способ сказать это: когда вы создаете репозиторий, главная ветвь на самом деле еще не существует, потому что нет ничего, на что она указывает.
Вы пытались совершить что-то после своего git init
? Разумеется, добавление удаленного и вытягивания из него также будет работать.
Ответ 2
У меня была такая же проблема, как и вы. Я решил создать новый пустой файл, чтобы иметь файл в проекте.
git add someFile
, затем commit -m "first commit"
и, наконец, с push origin master
Я надеюсь, что это поможет
Ответ 3
У меня было такое же сообщение об ошибке, когда у меня открылось несколько Windows Explorers, оба были открыты для того же существующего локального репозитория git.
Я создал новую ветку в одном окне, используя щелчок правой кнопкой мыши → создать ветку.
Позже, во втором экземпляре Windows Explorer, я попытался щелкнуть правой кнопкой мыши → Ветвь (чтобы узнать, какая ветка в данный момент проверена). Затем я получил сообщение "Ты еще на ветке, чтобы родиться".
Простое закрытие 2-го Проводника закончило проблему, и ошибка не появилась в 1-м Проводнике.
Ответ 4
Если кто-то достигнет этой части, я думаю, что вам не повезло с ответами. У меня такая же ситуация и с ОП. Попробуй это:
- Вытащите свой репо в другой каталог
- скопируйте папку .git в ваш новый репозиторий
Ответ 5
У меня была та же проблема, что и у ОП. Первоначально я сделал следующее:
md Project
cd Project
git init
git remote add origin [email protected]:user/repo.git
Все последующие команды git
имели те же ошибки, что и OP.
Для меня сработало удаление папки Project, а затем выполнение следующей команды из родительской папки:
git clone http[s]://domain.com/user/repo.git Project
Затем он запросил у меня имя пользователя и пароль для доступа к репо. Каждая команда git
запрашивала учетные данные, поэтому я выполнил следующую команду:
git config --global credential.helper wincred
Следующая команда git
запросила мои учетные данные, которые затем были сохранены в диспетчере учетных данных Windows (отображается через панель управления). Теперь команды git
работают без запроса учетных данных.
Ответ 6
Существует способ инициализации нового репо без фактической фиксации каких-либо файлов:
git commit --allow-empty -m "Initialization"
Если у вас есть --bare
, то обходной путь такой:
mkdir /tmp/empty_directory
git --work-tree=/tmp/empty_directory checkout --orphan master
git --work-tree=/tmp/empty_directory commit --allow-empty -m "Initialization"
rm -rf /tmp/empty_directory