git Определить/установить в какую ветку будет проходить push (upstream)--связь удалённой и локальной. Отслеживаемая remote show
Primary tabs
Предположим что ветка task12es_filters создана вами и вы переключились в неё.
Выясняем значение upstream -- все ветки удаленного репозитория
Далее, чтобы выяснить связь между локальными ветками и ветками в удалённом репозитории (например origin) необходимо выполнить команду:
git remote show origin
или (без обновления информации с внешнего сервера, используя локальный кэш):
git remote show -n origin
В выведенном списке будет показано состояние локальных веток. и то к каким веткам удалённого репозитория они привязаны.
upsteam для текущей ветки
Чтобы узнать с каким именно удаленным репозиторием работает текущая ветка, используйте:
git branch -vv
Устанавливаем значение upstream для ветки
Если отлеживаемая ветка уже есть уже есть во внешнем репозитории
Для ветки task12es_filters установить upstream в значение origin/task12es_filters (то есть ветки с таким же именем, но на удалённом репозитории) можно так (предварительно переключитесь в эту локальную ветку) -- если удалённая ветка origin/task12es_filters уже существует:
git branch -u origin task12es_filters
Если отслеживаемой ветки ещё нет (или есть -- более универсальный вариант)
Если же удалённой ветки ещё нет (или есть, но вы не знаете об этом, или знаете но всё равно хотите использовать именно этот способ -- более универсальный вариант), то установить удалённую ветку для локальной можно при первом push:
git push -u origin task12es_filter
Удалить отслеживаемую ветку для данной
Можно так (удалить upstram для текущей ветке в которой вы находитесь):
git branch --unset-upstream
Почему это нужно
Дело в том, что гит очень гибкая система, а вы можете настроить отправку данных так, чтобы имена веток на локальном и удалённом репозитории не совпадали, но чаще на практике значительно лучше чтобы у них были одинаковые имена.
- Log in to post comments
- 9065 reads