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).

Другие вопросы по тегам