UnoLagrima, единственное место где в установщике Git спрашивается про VSCode это выбор редактора для сообщений коммитов если работать в терминале. Но это вообще никак не влияет на работу с Git в самом VSCode.
Скорее всего Git не был прописан в PATH и не находился.
Ключи SSH не используются при работе через HTTPS
А ошибка вроде как прямым текстом тебе указана. Либо делай pull перед push, либо затирай внешнюю ветку через push --force
leham1, коммиты видны до тех пор, пока ты не переключишься на реальную ветку. До этого на цепочку указывал HEAD, а потом коммиты станут совсем беcпризорными и пропадут из вида.
Интересно другое, зачем ты переключаешься не на ветку, а на какой-то коммит в середине ветки?
Желтая бирка с восклицательным знаком означает что ты сделал checkout на какой-то отдельный коммит, а не на ветку (вершину ветки). Ты сейчас в состоянии оторванной головы (detached head). Если ты в этом состоянии сделаешь коммиты и не создашь какую-то ветку в этом состоянии, то новые коммиты зависнут в воздухе. Это будет новая беспризорная цепочка коммитов. На неё не будет ссылаться никакая ветка. Мы же знаем, что ветка это указатель на вершину цепочки коммитов. Коммиты не попадут ни в какую ветку и ты их больше никогда не увидишь если переключишься на какую-либо именованную ветку. Сейчас на этот коммит ссылается указатель HEAD — это то состоянии которое ты видишь в своём рабочем каталоге. Переключившись на реальную ветку указатель HEAD тоже станет указывать на другое место и твой коммит потеряется, если он не являются частью какой-либо ветки.
Не очень понятно что такое «пушэить». Английские слова не склоняются, никогда не добавляйте к ним окончания из русских букв, это ошибка. Если очень хочется применить русские правила к слову Push, то и пишите его по-русски — пушить. Но есть нормальный перевод — отправить.
Push не отправляет файлы, он отправляет коммиты с изменениями. И не в ветку, а в вышестоящий репозиторий.
Например команда упомянутая в вопросе отправит новые коммиты из текущей ветки sub в ветку origin/sub и связывает их.
У вас какая-то каша в голове. Лучше ещё раз прочитать какую-нибудь статью по основам работы с системами контроля версий. А ещё лучше учиться на мультиках
Сергей Горностаев, я не нашел ответа на многие вопросы. Можете подсказать?
1) Как переименовать ветку? git branch -M
2) Как переместить кусок одной ветки на другую? git rebase --onto
3) Как откатить ветку на нужное состояние? git reset
4) Как настроить hg без редактирования конфигов руками? git config
5) Почему в TortoriseHG не видно обновлений в рабочем каталоге пока не сделаешь ручной Refresh?
6) Ошибочно добавили в репозиторий файл с паролями или большой двоичный файл. Как удалить? git filter-repo
У Mercurial ограниченный набор команд лишь в силу его ущербности. Он не умеет многих элементарных вещей, которые есть в Git. Ветки в Git намного проще и удобнее. Я потратил пару недель, чтобы попытаться понять как работать в Mercurial и чем дальше продвигался, тем сильнее понимал, что трачу время впустую. У Mercurial нет никаких перспектив и каких-либо преимуществ перед Git.
Вот Subversion стоит изучить. На некоторых задачах он работает лучше. Например там, где работают не с текстами, а с двоичными файлами.
Вопросов осталось много.
Так и не понятно, чем именно мешают эти папки? Главный проект не компилируется с ними?
Что именно имелось в виду под термином «входит в состав проекта»?
Сама папка проекта может включать какие угодно служебные подпапки, но от этого они не становятся частью проекта. Вообще не вижу тут проблемы. Например каталог .vscode вам не мешает же?
Зачем в этой схеме нужен gitea? Для гита вообще не нужен какой-либо веб-интерфейс, всё и без него прекрасно работает.
Они и будут автоматически меняться при переключении ветки. Не совсем понятен вопрос.
Желательно перед переключением сохранить всё незакоммиченное. Либо коммитом, либо stash.
Webstorm скорее всего умеет делать stash автоматически, но если изменения конфликтуют с веткой, на которую переключаетесь, то придётся разруливать.
Если удалил и передумал теперь, то верни репозиторий в старое состояние. Это не сложно.
Например посмотри хеш предыдущего состояния через git reflog
А потом git reset хеш
Гит ничего не удаляет на самом деле. Он только добавляет новое.
Скорее всего Git не был прописан в PATH и не находился.