Обычное использование для отслеживания веток - это то, что вы можете получить их.Если вы хотите отправить резервное копирование на удаленный компьютер, возможно, вам нужны все ваши филиалы, да?Таким образом, вы можете сделать это:
git config remote.backup.mirror true
Затем, когда вы запустите git push backup
, по умолчанию будет действовать git push --mirror backup
, который выталкивает все ссылки (не только все ветви- все теги, все остальные ваши удаленные ветви, все).
Если вы не хотите заходить так далеко, вы все равно можете сделать:
git push --all backup
Это подтолкнет все ветви, но не остальные ваши ссылки.
Наконец, если вы действительно хотите просто нажать одну ветку ... ну, по сути, вы всегда должны просто делать это:
git push origin backup-branch
единственный способ сделать его короче, это просто сделать его операцией по умолчанию, выполняемой git push
, если вы действительно этого хотите.Есть четыре варианта поведения git push
без аргументов:
- ничего ничего не нажимать.
- соответствие нажмите все соответствующие ветви.Все ветви, имеющие одинаковое имя на обоих концах, считаются совпадающими.Это значение по умолчанию.
- отслеживание выдвигает текущую ветвь к своей восходящей ветви.
- current выдвигает текущую ветвь к той же ветвиимя.
Вы можете установить предпочтительный с помощью git config push.default <value>
.Если вы измените его на tracking
, настройка резервной ветви как ветви отслеживания позволит вам выдвинуть ее без аргументов, но только , если она уже извлечена.И это помешает вам использовать git push
для одновременного проталкивания множества веток (поведение по умолчанию, что очень приятно).Итак, если вы действительно хотите сделать это таким образом, вам действительно нужно настроить свою ветвь как отслеживающую ветвь.Вы можете сократить способ, которым вы сделали это немного:
git branch backup-branch
git push origin backup-branch
# most elegant way:
git branch --set-upstream backup-branch origin/backup-branch
# or this:
# git branch -f backup-branch origin/backup-branch
# or this:
# git config branch.backup-branch.remote origin
# git config branch.backup-branch.merge refs/heads/backup-branch