Сергей Горностаев, я не нашел ответа на многие вопросы. Можете подсказать?
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 хеш
Гит ничего не удаляет на самом деле. Он только добавляет новое.
ebaysher, ты написал git reset --hard HEAD
Это бессмысленная команда перемещения указателя ветки на HEAD, который уже указывает туда же.
Надо сказать на сколько коммитов перемещать назад HEAD~число
Но у тебя коммит единственный и до него нет ничего, поэтому перемещать некуда.
Единственный выход — изменить сам коммит. Фактически удалить и создать на его месте другой.
Просто удалить не получится.
Ну задача так сформулирована, что master нам не нужен.
Забыл написать что придётся попросить коллег удалить у себя мастер и скачать заново исправленный.