Как обновить удаленный репозиторий git
Чтобы обновить удаленный репозиторий нужно воспользоваться командой git push — отправить («запушить») все закоммиченные изменения.
. git commit -m 'fix bug' git push # Counting objects: 7, done. # Delta compression using up to 4 threads. # Compressing objects: 100% (2/2), done. # Writing objects: 100% (3/3), 287 bytes | 0 bytes/s, done. # Total 3 (delta 1), reused 0 (delta 0) # To /user/my-super-project.git # 4465c54..b9af80a master -> master
A3.5 Приложение C: Команды Git — Совместная работа и обновление проектов
Не так уж много команд в Git требуют сетевого подключения для своей работы, практически все команды оперируют с локальной копией проекта. Когда вы готовы поделиться своими наработками, всего несколько команд помогут вам работать с удалёнными репозиториями.
git fetch
Команда git fetch связывается с удалённым репозиторием и забирает из него все изменения, которых у вас пока нет и сохраняет их локально.
Мы познакомились с ней в разделе Получение изменений из удалённого репозитория — Fetch и Pull главы 2 и продолжили знакомство в разделе Удалённые ветки главы 3.
Мы использовали эту команду в нескольких примерах из раздела Участие в проекте.
Мы использовали её для скачивания запросов на слияние (pull request) из других репозиториев в разделе Ссылки на запрос слияния главы 6, также мы рассмотрели использование git fetch для работы с упакованными репозиториями в разделе Создание пакетов главы 7.
Мы рассмотрели тонкую настройку git fetch в главе и Спецификации ссылок.
git pull
Команда git pull работает как комбинация команд git fetch и git merge , т. е. Git вначале забирает изменения из указанного удалённого репозитория, а затем пытается слить их с текущей веткой.
Мы познакомились с ней в разделе Получение изменений из удалённого репозитория — Fetch и Pull главы 2 и показали как узнать, какие изменения будут приняты в случае применения в разделе Просмотр удалённого репозитория главы 2.
Мы также увидели как она может оказаться полезной для разрешения сложностей при перемещении веток в разделе Меняя базу, меняй основание главы 3.
Мы показали как можно использовать только URL удалённого репозитория без сохранения его в списке удалённых репозиториев в разделе Извлечение удалённых веток главы 5.
И наконец мы показали как проверять криптографические подписи полученных коммитов, используя опцию —verify-signatures в разделе Подпись коммитов главы 7.
git push
Команда git push используется для установления связи с удалённым репозиторием, вычисления локальных изменений отсутствующих в нём, и собственно их передачи в вышеупомянутый репозиторий. Этой команде нужно право на запись в репозиторий, поэтому она использует аутентификацию.
Мы познакомились с этой командой в разделе Отправка изменений в удалённый репозиторий (Push) главы 2. Там мы рассмотрели основы обновления веток в удалённом репозитории. В разделе Отправка изменений главы 3 мы подробнее познакомились с этой командой, а в разделе Отслеживание веток главы 3 мы узнали как настроить отслеживание веток для автоматической передачи на удалённый репозиторий. В разделе Удаление веток на удалённом сервере главы 3 мы использовали флаг —delete для удаления веток на сервере, используя git push .
На протяжении раздела Участие в проекте мы показали несколько примеров использования git push для совместной работы в нескольких удалённых репозиториях одновременно.
В разделе Публикация изменений подмодуля главы 7 мы использовали опцию —recurse-submodules чтобы удостовериться, что все подмодули будут опубликованы перед отправкой проекта на сервер, что может быть реально полезным при работе с репозиториями, содержащими подмодули.
В разделе Прочие хуки на стороне клиента главы 8 мы поговорили о триггере pre-push , который может быть выполнен перед отправкой данных, чтобы проверить возможность этой отправки.
Наконец, в разделе Спецификации ссылок для отправки данных на сервер главы 10 мы рассмотрели передачу данных с полным указанием передаваемых ссылок, вместо использования распространённых сокращений. Это может быть полезным если вы хотите очень точно указать, какими изменениями хотите поделиться.
git remote
Команда git remote служит для управления списком удалённых репозиториев. Она позволяет сохранять длинные URL репозиториев в виде понятных коротких строк, например «origin», так что вам не придётся забивать голову всякой ерундой и набирать её каждый раз для связи с сервером. Вы можете использовать несколько удалённых репозиториев для работы и git remote поможет добавлять, изменять и удалять их.
Эта команда детально рассмотрена в разделе Работа с удалёнными репозиториями главы 2, включая вывод списка удалённых репозиториев, добавление новых, удаление или переименование существующих.
Она используется практически в каждой главе, но всегда в одном и том же виде: git remote add .
git archive
Команда git archive используется для упаковки в архив указанных коммитов или всего репозитория.
Мы использовали git archive для создания тарбола ( tar.gz файла) всего проекта для передачи по сети в разделе Подготовка релиза главы 5.
git submodule
Команда git submodule используется для управления вложенными репозиториями. Например, это могут быть библиотеки или другие, используемые не только в этом проекте ресурсы. У команды submodule есть несколько под-команд — add , update , sync и др. — для управления такими репозиториями.
Эта команда упомянута и полностью раскрыта в разделе Подмодули главы 7.
Как обновить проект в гитхабе

Создал репозиторий на гитхабе, ручками скопировал туда файлы Обновил файлы. Пытаюсь обновить репозиторий, захожу в папку с проектом, делаю:
git init git add * git push site master
Выдает ошибку:
To https://github.com/dextroza11/dextroza11.github.io.git ! [rejected] master -> master (fetch first) error: не удалось отправить некоторые ссылки в «https://github.com/dextroza11/dextroza11.github.io.git» подсказка: Обновления были отклонены, так как внешний репозиторий содержит подсказка: изменения, которых у вас нет в вашем локальном репозитории. подсказка: Обычно, это связанно с тем, что кто-то уже отправил изменения в подсказка: то же место. Перед повторной отправкой ваших изменений, вам нужно подсказка: забрать и слить изменения из внешнего репозитория себе подсказка: (например, с помощью «git pull …»). подсказка: Для дополнительной информации, смотрите «Note about fast-forwards» подсказка: в «git push --help».
Git, как обновить проект ?
Недавно начал работать с Git и столкнулся со следующей ситуацией:
У себя на локальном сервере я разработал проект и залил его в репозиторий. Далее я зашел на сервер, клонировал проект, установил и настроил его.
Спустя время я продолжил разработки проекта на локальном сервере и снова обновил репозиторий. Теперь хотелось бы обновить проект на продакшине так сказать.
Как я понял удалять заново устанавливать и настраивать все файлы не вариант. Подскажите пожалуйста что нужно сделать ?
- Вопрос задан более трёх лет назад
- 90002 просмотра
Комментировать
Решения вопроса 3
NodeJS TechLead
Если вы хотите обновить у себя
git pull
Если вы хотите залить изменения на удаленный git-репозиторий
git push
Ответ написан более трёх лет назад
Комментировать
Нравится 17 Комментировать
Вам нужен центральный репозиторий, в который вы сможете загружать ваши новые правки с помощью git push (с любого компьютера), и из которого сможете загружать их в любое место, где у вас этот репозиторий склонирован, с помощью git pull. См. раздел о работе с удалёнными репозиториями в документации по Git.
Вообще говоря, git позволяет работать и в полной децентрализации, но это в общем случае менее удобно.
Так вот. Самое простое — воспользуйтесь услугами Github, хранить у них репозитории получается надёжно и недорого.
Или, если вы готовы сами отвечать за резервирование и прочее, то разместите так называемый bare-репозиторий прямо у себя же на сервере.
На практике последовательность действий, которые вам нужно совершить, описана здесь.
Вкратце — создаёте bare-репозиторий, загружаете на сервер, и указываете его адрес в качестве origin у себя в локальном репозитории (а также в любых других местах, где есть этот репозиторий — например, у вас же на сервере):
git remote add origin ssh://server.com/home/username/git/exampleproject
Кроме того, тот же самый адрес репозитория можно использовать для того, чтобы клонировать его на других компьютерах:
git clone ssh://server.com/home/username/git/exampleproject
При этом remote при клонировании выставляется автоматически.
А вообще, настоятельно рекомендую прочитать документацию по git, прогуглить интересующие вопросы, пройти вот такое короткое введение, и, поверьте, станет резко проще и понятнее.