Что делает --set-upstream
?
Я попытался понять это, прочитав руководство, но не совсем понял.
Что делает --set-upstream
?
Я попытался понять это, прочитав руководство, но не совсем понял.
git branch --set-upstream <remote-branch>
устанавливает удаленную ветку по умолчанию для текущей локальной ветки.
Любая будущая команда git pull
(с извлечением текущей локальной ветки),
попытается ввести коммиты из <remote-branch>
в текущую локальную ветвь.
Одним из способов избежать явного выполнения --set-upstream
является
использовать сокращенный флаг -u
вместе с самым первым git push
следующим образом
git push -u origin local-branch
Это устанавливает восходящую связь для любых будущих попыток push/pull автоматически.
Для получения более подробной информации ознакомьтесь с этим подробным объяснением о ветвях вверх по течению и отслеживании.
Чтобы избежать путаницы, последние версии
git
не одобряют эту несколько неоднозначную опцию--set-upstream
в пользу более многословной опции--set-upstream-to
с идентичным синтаксисом и поведениемgit branch --set-upstream-to <remote-branch>
Когда вы нажимаете на удаленный пульт и используете флаг --set-upstream
, git устанавливает ветку, на которую вы нажимаете, как ветвь удаленного отслеживания той ветки, которую вы нажимаете.
Добавление удаленной ветки отслеживания означает, что git знает, что вы хотите сделать, когда вы git fetch
, git pull
или git push
в будущем. Предполагается, что вы хотите, чтобы локальная ветвь и удаленная ветвь, которую она отслеживает, синхронизировались, и делает все для этого.
Вы можете достичь того же с помощью git branch --set-upstream-to
или git checkout --track
. Для получения дополнительной информации см. справочные страницы git в ветках отслеживания.
git branch --set-upstream <<origin/branch>>
официально больше не поддерживается и заменяется на git branch --set-upstream-to <<origin/branch>>