
Руководство по закрытию запроса на слияние — Merge Commit vs Squash vs Rebase на GitHub
11 января 2023 г.При объединении запроса на слияние на GitHub у вас в основном есть три варианта: с фиксацией слияния, сквошом или перебазированием.
Есть ли что-то неправильное в том, чтобы всегда делать фиксацию слияния? Что ж, здесь нет правильного или неправильного, но рассмотрение других стратегий может принести вам некоторые преимущества. Позвольте мне объяснить вам, почему.
https://youtu.be/rFRtsiQEJZw?embedable=true
:::подсказка В видео я подробно расскажу о трех стратегиях, а также сделаю «живую демонстрацию» со стикерами GitHub и пинами JS. Если вам интересно, я рекомендую вам посмотреть видео, в противном случае вы можете найти полный текст здесь ниже.
:::
Объединить фиксацию
Коммит слияния, вероятно, является наиболее распространенным, так как это вариант по умолчанию на GitHub, а также поведение по умолчанию, когда вы вручную используете git merge
.
История всех ваших коммитов остается нетронутой, а в основной ветке вы видите дополнительную фиксацию, которая объединяет все содержимое вашей ветки.
Самым большим преимуществом является то, что вы можете легко отследить точную фиксацию, в которой была изменена строка, если коммитов не слишком много.
Недостатком является то, что когда несколько коммитов находятся в нескольких ветвях, история быстро становится действительно запутанной, и отслеживание пути изменения может быть довольно сложной задачей.
Слияние сквоша
Вопрос в том, действительно ли вам нужно отслеживать каждую фиксацию? Включая опечатки, отсутствующие файлы и форматирование... если ответ отрицательный, вам следует подумать о слиянии Squash.
При сжатии слияния вы избавляетесь от всех коммитов в ветке и добавляете только один коммит на основной со всем содержимым.
В результате история намного чище, и во время работы над веткой вы можете делать любые коммиты, которые хотите, так как знаете, что со сквошем все ваши грехи будут забыты. Типа.
Кто не любит сквош-слияние, обычно упоминает тот факт, что вы теряете много истории коммитов, но вам решать, считаете ли вы коммиты в ветке ценными при просмотре старой активности или, скорее, просто шумом. р>
Перебазировать
Третий способ заключается в том, что вам не нужна фиксация, указывающая на то, что произошло слияние, и вы все равно хотите, чтобы все фиксации были в одной прямой строке.
В коммите слияния есть все запутанные строки плюс дополнительная фиксация, Squash — это прямая линия, но теряет историю, поэтому здесь появляется Rebase, который сохраняет историю И прямую линию И не требует дополнительной фиксации для слияния.
Делает ли это Rebase лучшей стратегией? Ну... на самом деле не обязательно, потому что это может иметь некоторые потенциально разрушительные побочные эффекты.
Если вы получаете конфликт слияния во время перебазирования, довольно легко непреднамеренно потерять части вашего кода, и если вам нужно наверстать упущенное несколько коммитов, вы можете в конечном итоге разрешить конфликт слияния для каждого отдельного коммита, а не только один в другом объединить стратегии.
Мои два цента
Что вы думаете после этого обзора? Дайте мне знать в комментариях!
На мой взгляд, если ветки не остаются открытыми в течение длительного времени, сквош-слияние — хороший вариант, также я не сторонник перебазирования, потому что слишком легко сделать огромные ошибки. Но прежде чем решить, какую стратегию применить, следует принять во внимание некоторые соображения.
Например, как часто вам и вашей команде приходится оглядываться на старые коммиты? Сколько участников в команде? Нужна ли вашему CI полная история коммитов?
Подумайте об этом, поговорите со своей командой, и вместе вы сможете найти наилучшую стратегию для своего варианта использования.
На самом деле, хорошей стратегией может быть подписка на мой канал YouTube, если вам нравится мой контент!
Конфигурация
Если вы хотите применить только некоторые стратегии слияния на GitHub, перейдите к настройкам своего репозитория и немного прокрутите вниз.
Здесь вы найдете три раздела, позволяющие разрешить слияние, сквош или перебазирование в ваших запросах на вытягивание.
Если вы оставите выбранным только один, все PR в вашем репозитории будут объединены с этой конкретной стратегией.
Для первых двух вы также можете определить сообщение коммита по умолчанию, которое может брать информацию из PR или коммитов в ветке в случае сквоша.
Как видите, у rebase нет этой опции, и причина проста. Как мы только что видели, перебазирование не создает дополнительного коммита для слияния, так что здесь делать нечего. Существующие коммиты просто перемещаются в начало вашей ветки.
Поскольку вы уже находитесь на этой странице, если вы прокрутите немного вниз, вы также можете установить этот флажок, чтобы автоматически удалять ветки после слияния PR.
Закрытие
Заинтересованы в фотографиях со значками и значками? Живая демонстрация находится в этом видео на YouTube.
Но как насчет вас и вашей команды, как вы закрываете свои запросы на слияние? Если у вас есть какие-либо предпочтения или вы хотите поделиться своим опытом, оставьте комментарий, я буду очень рад услышать от вас!
:::информация Также опубликовано здесь.
:::
Оригинал
Recent Post
-
Почему GitHub Commits не так частные, как вы думаете
1 августа 2025 г. -
Понимание по умолчанию git push и rebase: практическое руководство
1 августа 2025 г. -
Как показать местные филиалы в git
20 июня 2025 г. -
В Build 2025 GitHub продемонстрировал свой агент по кодирую
6 июня 2025 г. -
У Microsoft есть история пренебрежения требованиями лицензии на открытый исходный код
5 сентября 2023 г.
Categories
- Python
- blockchain
- web
- hackernoon
- вычисления
- вычислительные компоненты
- цифровой дом
- игры
- аудио
- домашний кинотеатр
- Интернет
- Мобильные вычисления
- сеть
- фотосъемка видео
- портативные устройства
- программного обеспечения
- телефон и связь
- телевидение
- видео
- мир технологий
- умные гиды
- облако
- искусственный интеллект
- се
- Samsung
- умные города
- digitaltrends
- отели
- Startups
- Venture
- Crypto
- Apps
- безопасность
- техника и работа
- cxo
- мобильность
- разработчик
- 5г
- майкрософт
- инновации
- Права и свободы
- Законодательство и право
- Политика и общество
- Космическая промышленность
- Информационные технологии
- Технологии
- Образование
- Научные исследования
- Автомобильная промышленность
- Программная инженерия
- IT и технологии
- Веб-разработка
- Программирование
- Автоматизация
- Карьерный рост
- Программирование и анализ данных
- Трудоустройство
- Политика
- Искусственный интеллект
- ИТ-технологии
- Программное обеспечение
- Экологическая политика
- Образование и рынок труда
- Политика и право
- Microsoft Teams и SharePoint
- Информационная безопасность
- Кибербезопасность
- Налоги
- Образование и карьера
- Интернет и технологии
- Технологии, Государственные услуги
- Политика и технологии
- Разработка программного обеспечения
- Разработка ПО
- Машинное обучение
- Налогообложение, технологии, открытый исходный код
- Финансы и налоги
- Технологии, Интернет, Экология
- Интернет, безопасность
- Технологии и политика
- Операционные системы
- Профессиональная разработка
- Технологии, Безопасность
- Интернет и общество
- Финансовая индустрия
- Налоговый учёт
- Общественное здравоохранение
- Технологическая отрасль
- Юриспруденция
- Технологии и государство
- Здоровье и фитнес
- IT-инфраструктура
- Технологии и ИИ
- Здравоохранение
- IT
- Технологии, Экономика
- Музыка и технологии
- Здоровье и питание
- IT и безопасность
- Бизнес и предпринимательство
- Технологии, Программное обеспечение
- Технологии и инновации
- Технологии, данные, этика
- Технологии и Интернет
- Технологии и SaaS
- Медицина и здравоохранение
- Онлайн-видеосервисы
- Финансы и технологии
- Чтение и саморазвитие
- Экономика и бизнес
- Безопасность данных
- Удаленная работа
- Авиация и технологии
- Технологии, Игры
- Энергетика
- Социальные сети, безопасность, технологии
- Саморазвитие
- Безопасность информации
- Бизнес и карьера
- Технологии и отношения
- Игровая индустрия
- Компьютерная индустрия
- Математика, Искусственный интеллект
- Наука и технологии
- Технологии и безопасность
- Технологии, Удаленная работа, Бизнес
- Видеоигры
- Технологии, Искусственный интеллект, Этика
- Технологии, социальные сети, 6G
- Технологии, Программирование, AI, Разработка ПО
- Программирование, Разработка ПО, Технологии
- Животные
- Технологии, Искусственный интеллект
- Программирование, карьера, технологии, обучение
- Бизнес и технологии
- Технологии, Безопасность данных
- Астрономия и физика
- Продуктивность, личное развитие
- Медиа и Технологии
- Программирование и Искусственный Интеллект
- Социальные сети
- Политика и экономика
- Технологии, Медицина, Искусственный интеллект
- Технологии и управление
- Космос и астрономия
- Общество и политика
- Космические исследования
- Веб-дизайн
- Искусственный интеллект и безопасность данных
- Технологии, Безопасность, Конфиденциальность
- Экологическая проблема
- Технологии, Погода
- Авиация
- Транспортная сфера
- Технологии и бизнес
- Игровая промышленность
- Телевидение и реклама
- Аналитика данных
- Технологии и кибербезопасность
- Маркетинг
- Технологии и гаджеты
- Технологии, Авиация, Инновации
- Финансы и инвестиции
- Технологии и общество
- Рыночный анализ
- Космология
- Данные и бизнес
- IT и программирование
- Технологии и право
- Программирование и разработка
- Астрофизика
- Медицинские технологии
- Авиационная промышленность
- Технологии и искусственный интеллект
- Генетическая инженерия
- Бизнес и инвестиции
- Компьютерная промышленность
- Психология и социология
- Образование и технологии
- Рынок труда
- Технологии, Стартапы
- Технологии, Приватность, Чтение
- Маркетинг и продажи
- Виртуальная реальность
- Технологии, Смартфоны, Маркетинг
- Технологии, Бизнес, Личностный рост
- Экологические проблемы
- Экономика и технологии
- IT и карьера
- Интернет и безопасность
- Разработка и технологии
- Биотехнологии
- Интернет-магазины, кибербезопасность
- Финансы
- Безопасность и технологии
- Экономика
- Защита данных
- Data Science
- Карьера и работа
- Финансовый успех, мошенничество, маркетинг
- Безопасность
- Экология
- Космическая индустрия
- Программирование, Python, Обучение
- Технологии искусственного интеллекта
- Технологии, Дизайн, iOS
- Программирование, DevOps, Kubernetes
- Социальные сети и пропаганда
- Корпоративная этика
- Управление IT-инфраструктурой
- Здоровье и медицина
- Медицина
- Медицинская промышленность
- Разработка и дизайн
- Искусственный интеллект, Диагностика систем
- Образование и психология
- Технологии, Автомобильная промышленность
- Автомобили и путешествия
- Астрономия и космология
- Программирование и технологии
- IT, работа в офисе, эмоциональный интеллект
- Компьютерная техника
- Здоровье и благополучие
- Управление персоналом
- Политика и управление
- Бизнес и экономика
- Социальные сети, Пропаганда, Информационная безопасность
- Технологии и автоматизация
- Геймдизайн
- Экология и технологии
- CRM-системы, IT-инфраструктура
- Права человека
- Цифровая цензура, свобода слова, технологии
- Технологии, Искусственный интеллект, Работа
- Наука о данных
- Астрономия, Наука
- Интернет и цифровые технологии
- Технологии, управление
- Интернет и связь
- Технологии и конфиденциальность
- Интернет и свобода слова
- Психология и социальные науки
- Книги и литература
- Работа и карьера
- Финансовые технологии
- Психология и саморазвитие
- IT, программирование, сети
- Технологии, Видеоигры
- Экология и энергетика
- Космонавтика
- Медицина и технологии
- Игры и развлечения
- Музыкальная индустрия
- Логистика и складирование
- Бизнес и финансы
- Экология и окружающая среда
- Правозащита
- Социальные сети и дезинформация
- Технологии и рынок труда
- Технологии, Искусственный интеллект, Рынок труда
- Технологии и будущее
- Медицина и здоровье
- Социальные медиа
- Экология, политика, общество
- Экономика и Финансы
- Разработка игр
- Пропаганда и дезинформация
- Медицинские исследования
- Онлайн-знакомства
- Политика и СМИ
- Энергетика и электромобили
- Климатические изменения
- Технологии, Рынок труда
- IT и управление данными
- Безопасность и кибербезопасность
- Интернет-технологии
- Психология и личностное развитие
- Технологии, Мессенджеры
- Цифровые технологии
- Здоровье и самосовершенствование
- Технологии и AI
- Технологии и спорт
- IT, Разработка программного обеспечения
- Экология и климат
- Космос и технологии
- Юридическая сфера
- Безопасность в интернете
- Программирование, Искусственный Интеллект, Качество ПО
- Технологии и мессенджеры
- Социальная справедливость
- Технологическая индустрия
- Личностное развитие, Time-менеджмент, Психология
- Бизнес и менеджмент
- Технологии, Микросхемы, Автономные системы
- Фриланс и предпринимательство
- Социальные сети и искусственный интеллект
- Криминальные дела
- Социальные сети, Маркетинг
- Энергетика и экология
- Технологии, Искусственный Интеллект, Полиция
- Программирование, Искусственный интеллект, Рынок труда
- Социальные сети, дезинформация, анализ данных
- Потребительские права
- Образование и наука
- Технологии и правосудие
- Технологии, Безопасность, Автомобили
- Энергетика и окружающая среда
- Личностное развитие
- Технологии и экономика
- Медиа и коммуникации
- Миграция и иммиграция
- Личностный рост
- Налоговая система
- Медиа и телевидение
- Интернет и телекоммуникации
- Технологии, Кибербезопасность
- Здоровье
- Социальные сети и карьера
- Политика и инфраструктура
- Предпринимательство
- Промышленность программного обеспечения
- СМИ и коммуникации
- Медиа и Общество
- Медицина и генетика
- Веб-разработка и дизайн
- Технологии, процессоры
- IT-индустрия
- Кинопроизводство и технологии
- Транспорт
- Текстовый анализ
- Технологии, дизайн интерфейсов
- Офисные приложения
- Технологии, Онлайн-сервисы
- Медицина и биотехнологии
- Общество и технологии
- Экономика и рынок труда
- Искусственный интеллект, программирование, аналитика
- Технологии, следствие
- Сетевые технологии
- Технологии и веб-разработка
- Программирование, Обучение, Практика
- Коммуникации и ИТ
- Технологии, Карьера, Экономика
- Технологии и транспорт
- Здравоохранение и медицина
- Технологии, Государственное управление
- IT-безопасность
- IT и разработка
- Финансы и экономика
- Социальные сети, Общество, Сообщества
- IT-разработка
- СМИ и политика
- Конфиденциальность и безопасность
- Экономика и политика
- Технологии и общественная жизнь
- Бизнес и этика
- Безопасность и защита информации
- Технологии, бизнес
- Интернет и цензура
- Государственное регулирование
- Игры, Технологии
- Технологии и оптимизация
- Технологии ИИ и машинного обучения
- Технологии, IT, карьера
- IT и программное обеспечение
- Право и преступность
- Криминал и Правоохранительные Органы
- Технологии и энергетика
- Нефтяная промышленность
- Социальные конфликты
- Преступность и безопасность
- Таможенная очистка
- Медиа и журналистика
- Технологии и разработка приложений
- Телекоммуникации
- Консалтинг и управление
- Управление человеческими ресурсами
- Онлайн-контент
- Психология и психотерапия
- Морская отрасль
- Психология и технологии
- Социальные проблемы
- Маркетинг и реклама
- Политика и власть
- Экономика и торговля
- Карьера и развитие
- Продуктивность и Управление Временем
- Технологии, Искусственный интеллект, Реклама
- Окружающая среда
- Здоровье и технологии
- Бытовая химия
- Правовая информация
- Юстиция
- Технологии и экология
- Социальные сети и безопасность
- Базы данных
- Политика и государственное управление
- Интернет и социальные сети
- Индустрия IT
- Технологии и программное обеспечение
- История и искусственный интеллект
- Рестораны и обслуживание
- Технологии и программирование
- Социология
- Телевидение и СМИ
- Психология
- Политика и бизнес
- Мобильные устройства
- Технологии и развлечения
- Экология и охрана окружающей среды
- Маркетинг и брендинг
- Медицинская индустрия
- Кибербезопасность и технологии
- Социальные сети и политика
- Развлечения
- ИТ и автоматизация
- Криптовалюты и блокчейн
- История и идеология
- Медицина и политика
- Личная жизнь миллиардеров
- Образование и Политика
- Туризм и отдых
- Психология и искусственный интеллект
- Удаленная работа и производительность
- Выживание
- Управление командами
- Разработка
- Международная торговля
- Корпоративная ответственность
- Социальные сети и общество
- Управление серверами
- Индустрия компьютерных игр
- Политика и климат
- Онлайн-игры
- Медицинская отрасль
- Искусственный интеллект и технологии
- Религия и мораль
- Путешествия
- Социальные сети и информация
- Технологии и медиа
- Технологии и свобода
- Электронная коммерция
- Бизнес и управление
- Психическое здоровье и технологии
- Технологии и устойчивое развитие
- Технологии и социальные сети
- Профессии
- Экономика и промышленность
- Технологии и трудоустройство
- Иммиграционная политика
- Продуктивность и фокус
- Технологии и робототехника
- Свобода слова
- Психология и власть
- Социальные сети и онлайн-платформы
- Технологии и Права Человека