Finally!))
Git предоставляет мощные инструменты для совместной разработки, позволяя нескольким разработчикам работать над одним и тем же кодом. Для этого используются удаленные репозитории, обычно расположенные на серверах вроде GitHub, GitLab или Bitbucket.
Для начала нужно добавить удаленный репозиторий к своему локальному проекту:
git remote add origin <url>
Эта команда создает удаленную ссылку с сокращением "origin" на указанный URL-адрес. По соглашению origin используется как сокращение для основного репозитория проекта. Чтобы получить url адрес репозитория - создаём его, например, на github.
Команда git remote -v
используется для вывода списка удаленных репозиториев, связанных с вашим локальным репозиторием, а также их URL-адресов.
В процессе разработки, вероятно, другие разработчики также внесут изменения в тот же удаленный репозиторий. Получить эти изменения в локальный репозиторий можно двумя способами:
git fetch
- получить изменения с удаленного репозитория без их автоматического слияния с вашими локальными изменениями.
# скачивает обновления для всех удалённых веток в связанные с ними локальные ветки
git fetch
# скачиваем обновления из удалённой ветки main в локальную ветку origin/main, при этом локальная ветка main остаётся без изменений
git fetch origin main
# скачиваем обновления из удалённой ветки - источника, в любую локальную ветку - получатель
git fetch origin <источник>:<получатель>
После этого вы можете просмотреть новые ветки или изменения в существующих.
git pull
- получить изменения с удаленного репозитория и автоматически слить их с вашими локальными изменениями.
git pull origin foo
# это то же самое, что сделать:
git fetch origin foo; git merge o/foo
После внесения коммитов в локальную ветку, их можно отправить на удаленный репозиторий:
git push
Эта команда определяет для текущей локальной ветки связанную с ней удалённую ветку и выгружает в неё изменения.
Однако, можно выгружать конкретные ветки без предварительного перехода в них.
git push origin master
# или даже так
git push origin <источник>:<получатель> # при этом если ветка-получатель не существует, она будет создана!
Эта команда отправляет локальную ветку master в ветку master удаленного репозитория origin.