Задать вопрос
Ответы пользователя по тегу Git
  • Как работает git pull?

    @zaur45
    1. Давайте разберёмся с терминологией. "Запушил локально" это, как я понимаю, git add + git commit. Обе эти команды работают с локальным репозиторием. После их выполнения в нём появится ещё один коммит, локальный репозиторий будет опережать удалённый (remote). Состояние удалённого репозитория не изменится.

    git pull это git fetch + git merge. Первая команда забирает с удалённого репозитория его текущее состояние, не меняя файлов рабочей папки, вторая пытается слить изменения удалённого и локального репозиториев. Поскольку после "git add + git commit" локальный репозиторий опережает удалённый на один коммит, никаких изменений локально не произошло.

    2. После того, как в параллельном репозитории был создан файл, последовательность комманд, как я понимаю, была такая: git add, git commit, git push. git add + git commit создали ещё один коммит локально, git push отправил два коммита в удалённый репозиторий: первый был создан локально на шаге 1 и скопировался вместе с репозиторием, второй мы создали только что. Теперь у локального репозитория 2 и удалённого репозитория одинаковая история коммитов, локальный репозиторий 1 отстаёт от удалённого на один коммит. При выполнении git pull в репозитории 1 он "догонит" удалённый репозиторий и в нём появится новый файл.

    Для изучения git рекомендую ресурс https://learngitbranching.js.org/?locale=ru_RU -- там в простой форме научат пониманию основных команд с иллюстрацией того что именно они делают.
    Ответ написан
    Комментировать