Вставьте все локальные ветки в начало в git
Скажем, что у меня есть LOT локальных ветвей в моем git, не нажатом на удаленный репозиторий.
Как я могу вытолкнуть все из них в начало с помощью одной команды?
Ответы
Ответ 1
Вы пробовали
git push --all -u
Пользователь git man
- все
Вместо того, чтобы называть каждый ref для push, указывается, что все ссылки refs/refs/head/нажаты.
-u, --set-upstream
Для каждой ветки, которая обновлена или успешно нажата, добавьте ссылку вверху (отслеживание),
-u
полезен, если вы намерены выйти из этих ветвей позже
Ответ 2
git push <remote_name> '*:*'
Команда интуитивно понятна в том, что она указывает :
. В левой части на :
указано имя локальной ветки, а в правой - ветка удаленной. В вашем случае мы хотим сопоставить одно и то же имя и, следовательно, команду.
*:*
сообщает git, что вы хотите нажимать каждую локальную ветку на удаленный с тем же именем на удаленном компьютере. Таким образом, если у вас есть ветвь с именем my_branch
, у вас будет удаленная ветвь с именем <remote_name>/my_branch
.
Обычно вы делаете git push origin '*:*'
, и вы найдете каждую локальную ветвь с тем же именем на пульте дистанционного управления, которую вы можете подтвердить с помощью git branch -r
, которая покажет вам все удаленные ветки.
Ответ 3
Вы можете использовать refspec, который сообщает git нажать все ваши ветки:
git push origin 'refs/heads/*:refs/heads/*'