git: не может создать ветку upstream
Эта проблема
Я собираюсь бананы из-за этой git (или github?) Идиосинкразии - я создал новую ветку, но не могу перенести ее в репозиторий верхнего уровня на github. Это не первая ветка, на которую я давлю репо, и пока все прошло гладко.
Прохождение
Я создал новую ветку:
$ git checkout -b adam/no-push-bugfix
Внесены некоторые изменения в файл и добавлены некоторые из них (это означает, что некоторые изменения не были зафиксированы):
$ git add --patch path/to/some/file
Убедился, что изменения верны:
$ git diff --staged
$ git commit -v
$ git status
И попытался подтолкнуть:
$ git push --set-upstream origin adam/no-push-bugfix
$ fatal: adam/whatever-name-bugfix cannot be resolved to branch.
Любая идея, почему моя новая ветвь отклонена от upstream?
2 ответа
Я не мог найти правильное объяснение этой проблемы в Интернете. Поэтому я добавляю это, чтобы помочь другим людям понять проблему.
Имя ветки Git чувствительно к регистру и отображается в файл / каталог в репозитории (не всегда, но обычно для новых веток). В результате, различие в регистре в имени ветки git может вызвать проблему, как в вашем случае. В данном конкретном случае мы видим, что существующие ветки начинаются с "Адам /". Это означает, что в.git / refs /head существует папка с именем "Adam". Когда вы пытаетесь нажать на ветку с именем, начинающимся с "adam/", это конфликтует с выходящей папкой.
TL;DR - оформить ветку снова.
Как ни странно, я, кажется, как-то вышел из ветки. oh-my-zsh
подскажите показывает что я в ветке, но git branch
показывает что я не в какой ветке
После git checkout Adam/no-push-bugfix
Я вроде бы в ветке
Теперь все работает хорошо, и я могу подтолкнуть ветку вверх по течению. Я не уверен, в чем проблема (есть разница в случае, например, между adam
а также Adam
).