После использования git fetch
для получения новых коммитов из какого-либо другого Git, вы должны выбрать, как комбинировать эти новые коммиты с любым из ваших собственных существующих коммитов.
Существует два основных способа комбинировать коммиты:
В некоторых случаях это очень разные действия. В других случаях, включая, в частности, случай, когда все ваших существующих коммитов были изначально получены из этого другого Git, и вы никогда не делаете никаких своих собственных коммитов, а человек, управляющий другим Git, ведет себя хорошо- они делают одно и то же, так что не имеет значения, какую вы делаете (если только вторая команда не сработает; см. Ниже).
Мой собственный процесс обычно таков: запустите git fetch
, проверьте, что произошло,затем выберите, какой из git merge
или git rebase
я хочу сделать, если я еще хочу сделать какой-либо из них. Затем я делаю вторую команду, которую я хотел бы сделать, основываясь на результатах этой проверки, или я полностью воздерживаюсь от результатов этой проверки.
Если вы уверены в том, какую вторую команду выЕсли вы хотите использовать, вы можете использовать git pull
, который запускает git fetch
, а затем запускает одну из этих двух других команд Git. Вы заранее выбираете, прежде чем посмотреть, что принесет git fetch
, , какую другую команду Git запустить. Вторая команда по умолчанию - git merge
, поэтому, если вы заранее уверены, что хотите набрать git fetch
, а затем git merge
, вы можете запустить git pull
. Если вы заранее уверены, что хотите запустить git rebase
секунду, вы можете запустить git pull --rebase
.
Обратите внимание, что оба git merge
и git rebase
могут потерпеть неудачу и оставлю вас в беспорядке навести порядок. Если вы запускаете git pull
и его вторая команда не выполняется, вы все еще находитесь в середине любой второй команды, которую вы выбрали для запуска git pull
. Вам все еще нужно навести порядок. Вы можете подождать, пока это действительно произойдет, чтобы узнать , как очистить его, но помните, что способ его очистки зависит от , какую вторую команду вы выбрали! Мне нравится избегать git pull
, чтобы я знал, какую вторую команду я использовал, благодаря тому, что I набрал ее.: -)