Git pull перед push обязателен?

Я развил репо A, я создал ветку (новая функция), чтобы внести изменения и нажать. Я создаю pr для репозитория A, нужно ли мне что-то тянуть, прежде чем я нажму новую функцию?


person Nadi Jayden    schedule 23.11.2020    source источник
comment
Привет, Нади, добро пожаловать. Пожалуйста, обратитесь к некоторым существующим ответам на ту же тему: stackoverflow.com/a/52109096/5506730   -  person gazdagergo    schedule 23.11.2020


Ответы (3)


Вам не нужно тянуть. Вы можете отправить устаревшую ветку на проверку, и если нет конфликтов, она будет перебазирована при слиянии. Если есть конфликты, слияние не удастся.

Сказав это, обычно рекомендуется перебазировать вашу ветку перед отправкой - только потому, что нет конфликтов, это не обязательно означает, что она все еще логически правильна. Например, представьте, что вы добавили аргумент в функцию и исправили два места, где он использовался. Если кто-то вызовет его в третьем месте без этого нового аргумента (поскольку он еще не введен), не будет конфликта git, и ваша ветка может быть объединена, но это будет просто неправильно (либо проект не скомпилируется, либо вы получите ошибку времени выполнения, в зависимости от используемого языка)

person Mureinik    schedule 23.11.2020
comment
почему бы просто не тянуть? - person Nadi Jayden; 23.11.2020
comment
после того, как моя ‹new_feature› объединилась с репозиторием A, как мне подписать repoA с моим локальным репо (разветвленным репо)? - person Nadi Jayden; 23.11.2020

Это не обязательно, это просто хорошая практика, потому что, если вы работаете над проектом с несколькими соавторами, хорошо сначала git pull, чтобы вы знали о любых изменениях, а затем вы могли нажать. Сделав это, в будущем будет проще делать такие вещи, как слияние, перебазирование и т. д. Поверьте мне, это правда :)

person CartoonZzy    schedule 23.11.2020

рекомендуется перебазировать .

https://git-scm.com/book/en/v2/Git-Branching-Rebasing

rebasing поможет вам синхронизироваться с источником.

person Abilogos    schedule 23.11.2020