Параметры для получения изменений
Эти команды особенно полезны при взаимодействии с удаленным репозиторием. Команды clone
и fetch
позволяют скачать удаленный код с удаленного URL-адреса репозитория на локальный компьютер, merge
используется для слияния работы, проделанной вами и другими пользователями, а pull
представляет собой комбинацию команд fetch
и merge
.
Клонирование репозитория
Чтобы получить полную копию репозитория другого пользователя, используйте команду git clone
в следующем виде:
$ git clone https://HOSTNAME/USERNAME/REPOSITORY.git
# Clones a repository to your computer
При клонировании репозитория можно выбрать один из нескольких различных URL-адресов. При входе в GitHubэти URL-адреса доступны на главной странице репозитория при нажатии кнопки Code.
При выполнении команды git clone
происходит следующее:
- Создается новая папка с именем
repo
. - Она инициализируется как репозиторий Git.
- Создается удаленный узел с именем
origin
, ведущий на URL-адрес, из которого вы клонировали репозиторий. - С этого адреса скачиваются все файлы и фиксации репозитория.
- Извлекается ветвь по умолчанию.
Для каждой ветви foo
в удаленном репозитории создается соответствующая ветвь удаленного отслеживания refs/remotes/origin/foo
в локальном репозитории. Обычно имена ветвей удаленного отслеживания можно сокращать до origin/foo
.
Получение изменений из удаленного репозитория
Используйте команду git fetch
для получения новых работ, выполненных другими людьми. Команда получения данных из репозитория захватывает все новые ветви и теги удаленного отслеживания, не сливая эти изменения с вашими собственными ветвями.
Если у вас уже есть локальный репозиторий с удаленным URL-адресом, настроенный для желаемого проекта, вы можете получать все новые сведения, выполняя в терминале команду git fetch *remotename*
:
$ git fetch REMOTE-NAME
# Fetches updates made to a remote repository
Если нет, вы всегда можете добавить новый удаленный репозиторий, а затем получить из него данные. Дополнительные сведения см. в разделе Управление удаленными репозиториями.
Слияние изменений с локальной ветвью
Слияние объединяет локальные изменения с изменениями, внесенными другими людьми.
Обычно сливаются ветвь удаленного отслеживания (т. е. ветвь, полученная из удаленного репозитория) и локальная ветвь:
$ git merge REMOTE-NAME/BRANCH-NAME
# Merges updates made online with your local work
Вытягивание изменений из удаленного репозитория
git pull
— это удобное сочетание клавиш для выполнения git fetch
и git merge
в одной команде:
$ git pull REMOTE-NAME BRANCH-NAME
# Grabs online updates and merges them with your local work
Поскольку pull
приводит к слиянию полученных изменений, перед выполнением команды pull
нужно зафиксировать локальную работу Если возникнет конфликт слияния, который вы не сможете разрешить, или вы решите выйти из слияния, используйте команду git merge --abort
, чтобы вернуть ветвь туда, где она находилась до вытягивания.