Romanuss, если содержимое ветки не совпадает с рабочей копией, значит есть незакоммиченные изменения. Это же очевидно. Pull не затирает рабочую копию, а делает merge. Так что все правки остаются на месте даже после подкачки обновлений.
Актуализировать с веткой код в рабочем каталоге можно командой git reset --hard
Чтобы восстановить ветку, достаточно помнить её хеш.
Если вы видите её в на локальном компе, значит там ещё не успели удалить из remotes.
Надо просто восстановить локально и протолкнуть обратно на битбакет.
Более простым языком, это название переменной, в которой хранится URL внешнего репозитория.
Получается такой псевдоним, чтобы не писать в командах полный URL.
Вместо origin можно использовать любое другое название. Внешних репозитория можно привязать несколько к локальному репо.
Что значит «не понимает»?
Если перейти в другую папку, то откроется другой проект с другим репозиторием. Тут не может возникнуть проблем. Либо вы неудачно сформулировали вопрос.
GitHub это не программа, это сайт.
Вы работаете в программе под названием «GitHub Desktop» видимо. Это один из клиентов для работы с репозиториями Git. Не путайте термины пожалуйста. а то не сразу понял что вы пытаетесь сделать.
Если не получается закоммитить сразу 300 тысяч файлов за раз, попробуйте коммитить отдельными папками.
Возможно индекс переполняется и не может обработать сразу всё.
Либо используйте другие Git-клиенты, например просто консольный клиент.
Я бы посоветовал работать в SmartGit.
И если сцена состоит из множества больших двоичных файлов, а не кода. то лучше вообще не пытаться закидывать эти файлы в репозиторий. Храните большие файлы в LFS, тогда всё будет быстро обрабатываться.
git checkout -b backup
git checkout -
Эквивалентны одной
git branch backup
— создать ветку, но не переключаться на неё.А
reset --hard
лучше заменить наreset --soft
, чтобы локально код не терять.Тогда и резервную ветку создавать не придётся.