Синхронизация в Git

  1. При использовании команды pull между удаленным и локальным репозиториями происходит полное копирование всех коммитов или только тех, которых нет в локальном репозитории?
  2. При использовании команды push с локального репозитория на удаленный физически копируется только 1 измененный файл или вся версия проекта? Я имею ввиду, может быть там создается новая версия, путем копирования предшествующей на самом удаленном репозитории и заменой измененного файла?

Происходит синхронизация коммитов и пулреквестов. Если измененный файл незакоммичен, то он никуда не копируется.