Перед тем, как перенаправить локальные изменения в удаленный репозиторий, git всегда запрашивает синхронизацию локальной ветви с удаленной ветвью. Чтобы это произошло, я сначала делаю git pull, а затем фиксирую выталкиваемые изменения и, наконец, толкаю.Как иметь чистую историю git
Проблема с этим подходом заключается в том, что git объединяет вложенные файлы с моими существующими изменениями и в будущем, когда я пытаюсь выяснить, что я сделал на этом конкретном коммите, не будет четкого различия между тем, что я сделал и что тянуть слилось.
Я хотел бы иметь чистую историю, то есть мои обязательства всегда должны иметь/показывать только те изменения, которые я добавляю, но не были объединены из-за pull.
Одним из решений этой проблемы, о котором я могу думать, является наличие двух локальных ветвей для данной удаленной ветви. (1) для ваших изменений, (2) для синхронизации с пультом дистанционного управления, а когда нужно нажать, сначала синхронизируйте (2) с пультом дистанционного управления, а затем слейте (1) с (2), а затем нажмите (2)
Любые другие предложения о том, как иметь чистую историю?
'git pull' обычно является' git fetch' + 'git merge', но может быть настроен на' git fetch' + 'git pull' с изменением конфигурации - подробнее здесь: http://randyfay.com/содержание/проще-перебазирование избегающего-непреднамеренный-слияния-фиксаций –