Почему git commit после слияния по умолчанию? - PullRequest
24 голосов
/ 02 марта 2011

Мне любопытно, что такое поведение, и, возможно, это только потому, что я в основном использую SVN и базар.(Я учу git взаимодействовать с превосходным github.)

Мне кажется, что это не так интуитивно понятно, и как будто было бы лучше, если бы

git merge [branch] --no-commit

по умолчанию поощрять людей убедиться, что слияние прошло так, как они хотели, до совершения.

1 Ответ

27 голосов
/ 02 марта 2011

Цель, поставленная Линусом Торвальдсом при создании Git, состояла в том, чтобы сделать все слияния, которые могут быть автоматически решены ... FAST . Смотрите его 2007 Google Tech Talk: Линус Торвальдс на Git (стенограмма)
То есть сотни слияний менее чем за несколько секунд.

Так что "--no-commit" по умолчанию в значительной степени победит эту цель.

С помощью --no-commit выполнить объединение, но сделать вид, что объединение не удалось, и не выполнять автоматическую фиксацию, чтобы дать пользователю возможность проверить и дополнительно настроить результат объединения перед фиксацией.

Извлечение из Лекция Линуса (видео) :

Единственное, что имеет значение, это то, как быстро вы можете объединиться .
В git вы можете объединять ... Я объединяю 22 000 файлов несколько раз в день, и я недоволен, если объединение занимает более 5 секунд, и все эти 5 секунд просто загружают все различия, не только различия, но дельты между двумя деревьями, само слияние занимает менее полсекунды.
И мне не нужно об этом думать.
[...] Это вид производительности, который на самом деле меняет вашу работу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...