Запретить git писать пустые коммиты слияния - PullRequest
17 голосов
/ 19 ноября 2010

Привыкнув к SVN, я всегда делаю «обновление» перед тем, как делиться какими-либо изменениями, поэтому, прежде чем делать какие-либо нажатия, я всегда сначала вытягиваю.

Это раздражает, когда я вытягиваю (даже если вудаленный) и увидеть коммит для слияния с 0 changed files with 0 additions and 0 deletions.Коммиты вроде:
https://github.com/UCF/Harvard-Mobile-Web/commit/be9d6b2d1ab196554e080d8b8647a9d16c8a5ddf

Я считаю, что это бесполезный шум при просмотре истории коммитов.

Может быть, я что-то упускаю, есть ли смыслчтобы это совершить?Если нет, есть ли способ запретить git писать пустые коммиты слияния?

Ответы [ 2 ]

21 голосов
/ 19 ноября 2010

Само определение git pull по сути "извлекает и объединяет новый удаленный HEAD для моей текущей ветки". Если вы хотите выполнить ребазинг, просто git pull --rebase. Это изменяет тягу, чтобы перебазировать ваши коммиты поверх нового удаленного HEAD.

Лично мне нравится git fetch (загружать новые объекты с пульта, но не обновлять локальные ветки) и проверять ситуацию, а затем самому решать, следует ли объединить или перебазировать.

5 голосов
/ 07 сентября 2014

Есть несколько опций, все сводятся к одному и тому же: заставить git использовать опцию --rebase (как упомянуто @cdhowie).

Вы, вероятно, обнаружите, что предпочитаете один из этих:

Опция 1: Явно использовать git pull --rebase каждый раз.

Опция 2: для каждого проекта, изменить файл .git/config с помощьюдобавление

[branch "master"]
 remote = origin
 merge = refs/heads/master
 rebase = true

Вариант 3 : в личном кабинете ~/.gitconfig

[branch]  
  autosetuprebase = always

Лично мне нравится вариант 3, поскольку он позволяет мне ничего не навязывать другимразработчикам, хотя по-прежнему не нужно каждый раз набирать --rebase.

Также смотрите Как заставить Git pull использовать rebase по умолчанию для всех моих репозиториев?

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