Как избежать ненужных слияний с помощью Visual Studio Git

В настоящее время наш рабочий процесс требует, когда мы хотим зафиксировать локальную ветвь, мы должны сначала извлечь и извлечь из удаленной ветки, чтобы обновить нашу локальную ветку. Затем мы можем сделать коммит на локальном, а затем нажать на удаленный. Если мы сначала фиксируем локальную ветвь, а затем извлекаем обновления из удаленной ветки, Visual Studio автоматически совершит для нас слияние, независимо от того, есть ли конфликтующие изменения или нет. Мы хотим избежать ненужных слияний.

Итак, мой вопрос, есть ли опция или действие, которое может выполнить это автоматически в VS? Одно действие, которое вы щелкаете и сначала извлекаете из удаленного, обновляете локальное, затем фиксируете, затем возвращаете в удаленное? Сейчас мы делаем все три действия вручную, чтобы избежать генерации VS ненужных коммитов слияния.

В VS есть опция "Зафиксировать и синхронизировать все", цель которой, кажется, предназначена для того, что мы пытаемся сделать, но это не так. Сначала он просто фиксирует, а затем выполняет тягу и толчок, которые все еще генерируют ненужные слияния.

1 ответ

Решение

Хотя VS 2017 не имеет возможности напрямую передавать флаг --rebase в команду pull, он будет учитывать настройку конфигурации для перебазирования вместо слияния во время извлечения. Вы можете установить это через командную строку или в "Team Explorer->Git Settings" либо глобально, либо для текущего репозитория. Флажок помечен как "Перебазировать локальную ветку при вытягивании".

Надеюсь это поможет.

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