Скажем, что у меня есть 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 нажать все ваши ветки: