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