Когда вы делаете
git push <remote> <source>:<destination>
<source>
может быть коммитом, да.
Однако <destination>
немного сложнее.Возьмите его из doc :
Можно поместить любой тип объекта в любое пространство имен вне refs / {tags, head} / .В случае тегов и коммитов они будут обрабатываться так, как если бы они были коммитами внутри ссылок / заголовков / для целей разрешения обновления.
Так что, в основном, вы в основномнажать только на удаленные ветки , но да, вы можете выдвигать коммиты, если переход от их текущей ссылки к той, которую вы нажимаете, является слиянием ускоренной перемотки вперед.