Действительно быстрый, в настоящее время я реорганизую свой репозиторий Git, но я сомневаюсь в этой ситуации и не хочу ее испортить, в настоящее время я использую Visual Studio 2015 и Git Lab.
У меня есть эти ветки A (мастер) и Bqwerty (разработка), у Bqwerty нет соглашения о собственном имени, поэтому я думал переименовать его или создать из него ветку с собственным именем, а затем удалить Bquerty.
Ни Visual Studio 2015 (обозреватель команд), ни GitLab не предлагают возможности переименовать ветки (по крайней мере, я не смог ее найти),
Безопасно ли запускать:
git branch -m <newname>
Повлияет ли это на Visual Studio или Git Lab?
Или, если я создам новую ветку Bqwerty -> B, а затем удалю Bqwerty, сохранит ли это историю, даже если B еще не был объединен ?.
2 ответа
У меня возникли небольшие проблемы, когда я переименовал
git branch -m <newname>
Локальный филиал Bqwerty был успешно переименован в B, но он все еще указывал на origin / Bqwerty.
В итоге я создал новую удаленную ветку (origin / B) из origin / Bqwerty, после чего использовал:
git push -u origin B:B
Чтобы указать мою локальную ветку B на ветку origin / B.
Наконец, я удалил ветку удаленного происхождения / Bqwerty, и теперь все работает нормально: D
Я не знаю об упомянутых вами инструментах, но, исходя из моих знаний о Git, переименование ветки будет работать нормально.
В Git ветки - это просто указатели на коммиты. Эта история сохраняется в коммитах, поэтому переименование просто создает новый указатель, указывающий на ту же фиксацию, что и старая ветка. Таким образом, это почти то же самое, что и создание и удаление.
Единственное отличие состоит в том, что при переименовании журнал ссылок сохраняется при переименовании, а при создании / удалении - нет.
Reflog - это журнал коммитов, на которые указывает конкретная ветка или ссылка. Это то, что является локальным для одного репозитория и не используется при отправке / извлечении. Это не стандартная история Git, которая на самом деле является историей коммитов, которая не имеет отношения к именам веток и используется совместно с push / fetch.
Похожие вопросы
Новые вопросы
git
Git — это распределенная система контроля версий с открытым исходным кодом (DVCS). Используйте этот тег для вопросов об использовании Git и рабочих процессах. Не используйте этот тег для общих вопросов по программированию, связанных с репозиторием Git. Не используйте этот тег для вопросов GitHub/GitHub Actions, не связанных с использованием git; вместо этого используйте [github] или [github-actions]. Не используйте тег [github] для проблем, связанных с Git, только потому, что репозиторий размещен на GitHub.