Git Push разъяснение - Что толкают? - PullRequest
6 голосов
/ 07 июля 2011

Когда я отправляю локальный рабочий каталог в центральный репозиторий, все ли все промежуточные ветви и информация о фиксации (от последнего до этого) передаются?

Другими словами, push создает точную реплику всей истории моего текущего рабочего каталога, включая коммиты, ветки и т. Д., И, таким образом, становится доступным для любого другого пользователявытащить из центрального хранилища?

Если не все толкнуть, что исключается?

Ответы [ 3 ]

7 голосов
/ 07 июля 2011

Когда вы запускаете git push, вы можете установить, что будет помещено в командную строку.Например,

git push origin my-branch:fooo

передает ветку «my-branch» из вашего локального репозитория в ветку «fooo» в «origin».

Когда вы запускаете git push без каких-либо аргументов,он выдвигает удаленный набор для вашей текущей ветви (вы можете видеть это по git config branch.<branchname>.remote) и выполняет то, что сконфигурировано в push.default значении конфигурации, которое, согласно docs , может быть одним из следующих:

  • nothing - ничего не нажимать.
  • matching - нажать все соответствующие ветви.Все ветви, имеющие одинаковое имя на обоих концах, считаются совпадающими.Это значение по умолчанию.
  • upstream - выдвинуть текущую ветвь в ее восходящую ветвь.
  • tracking - устаревший синоним для восходящей ветки.
  • current - pushтекущая ветвь к одноименной ветке.
3 голосов
/ 07 июля 2011

Чтобы завершить остальные ответы, не забывайте, что git push обычно имеет дело с филиалами (refs/heads).

  • Он не будет выдвигать теги, если вы не укажете --tags (или --mirror), в этом случае refs/tags будет выдвинут.
  • Он не будет выдвигать заметки (часто забывают), если вы не укажете это пространство имен ref явно.
3 голосов
/ 07 июля 2011

Он выдвигает ветви, которые вы настроили для этого удаленного хранилища.Взгляните на файл конфигурации .git/config, чтобы увидеть, что было настроено.

Если вы хотите увидеть, что подтолкнет, используйте

git remote show origin

, где вы заменяете origin на имя вашего удаленного хранилища.Это показывает, какие ветви будут подталкивать к этому репо, и каково текущее состояние филиалов.

...