Push и pull характерны для децентрализованных систем контроля версий.
Вы должны прочитать эту книгу http://book.git-scm.com/ Она объясняет все, что вам нужно знать
В случае DCVS хранилище является локальным. Если вы просто сделаете коммит, он не будет передан на удаленный сервер.
Команда push отправляет ваши локальные коммиты на удаленный сервер и объединяет их.
Pull = Fetch + Merge Git получает коммиты с удаленного сервера (выборки) как ветку удаленного отслеживания, а затем объединяет их в вашей ветке.
Копить это особенность. Это позволяет вам хранить ваши незафиксированные изменения в тайнике и удаляет их из ветки, над которой вы работаете. Вы можете получить их позже, применив тайник.
Это действительно полезно, когда вы находитесь в середине большого изменения, и вы просто хотите сделать быстрое решение. Вам просто нужно сохранить свои изменения, написать исправление, зафиксировать его и затем применить сохраненный тайник, чтобы вернуться к своей работе.