Git — это распределенная система контроля версий. Она позволяет хранить данные обо всех изменениях кода в конкретных папках на жестком диске и обеспечивает удобную командную работу.
Давайте поближе познакомимся с командами git push
, git pull
, git fetch
и git merge
.
Команда git push
в ходе выполнения переносит все изменения, внесенные юзером, в удаленный репозиторий (например, такой как GitHub):
Git push 'remote_name' 'branch_name'
Чтобы отправить данные в удаленный репозиторий, нужно удостовериться, что все перемены зафиксированы в локальном репозитории. После того, как вы внесете изменения локально, вы сможете поделиться ими с помощью git push
. Но прежде чем отправлять какие-либо перемены в удаленную ветку, рекомендуется запустить команду git pull
. Это обновит локальную ветвь.
Вынужденная команда push при корректировке коммитов:
# make changes to a repo and git add git commit --amend # update the existing commit message git push --force origin main
Команда git commit --amend
применяется для обновления прошлого коммита. Только после этого измененный коммит вынужденно выпускается с помощью команды git push --force
.
Курсы разработчиков от наших партнеров Mate Academy, Robot Dreams и Powercode, помогут вам кратно увеличить ваши технические знания и получить наиболее высокооплачиваемую работу.
Команда git pull
отвечает за скачивание данных с сервера. Процесс очень похож на клонирование репозитория, но здесь скачиваются не все коммиты, а только новые.
По сути, git pull
— это сочетание команд git fetch
(загружает коммиты, ссылки, файлы из удаленного репозитория в локальный) и git merge
(объединяет несколько коммитов в один общий).
На первой стадии git pull
выполняется команда fetch
, ограниченная локальной веткой. Затем команда git pull
выполняет слияние и формируется новый коммит.
git checkout new_feature git pull <remote repo>
Итак, сначала создается ветка. Затем выполняется команда git pull
, в которой раздается удаленный репозиторий. Это ведет к переключению на ветку new_feature
. Затем загрузка завершается и реализуется команда git merge
, то есть происходит слияние двух веток.
Команда git fetch
соединена с удаленным репозиторием, берет все изменения и сохраняет их локально. При клонировании репозитория, команда clone
автоматически добавляет удаленный репозиторий под названием origin
. Следственно, git fetch origin
вынимает материал, отправленный на сервер после клонирования.
Чтобы рассмотреть процесс синхронизации локального репозитория с основной веткой, используется команда git fetch origin
.
Это отобразит ветки, которые уже были загружены:
ale8fb5..45e66a4 main -> origin/main ale8fb5..9e8ab1c develop -> origin/develop * [new branch] some-feature -> origin/some-feature
Команда git merge
связывает ряд коммитов в одно целое. В свою очередь git
создает коммит слияния, где и объединяются изменения обеих последовательностей.
Бывают случаи, когда git
находит конфликт в слиянии и к файлам присоединяются индикаторы: <<<<<<<
, =======
и >>>>>>>
:
<here is some content not affected by the conflict <<<<<<< main this is conflicted text from main ======= this is conflicted text from feature branch >>>>>>> feature branch;
По завершению слияния, выполните команду git add
: таким образом вы проинформируете, что причина конфликта разрешена. Важно запомнить, что конфликты допустимы только в трехслойном слиянии и никогда не возникают при ускоренном.
Используя pull
, git
стремится сделать все за вас. То есть сводит любые внесенные коммиты в ветку. При применении fetch
, git
собирает коммиты и сохраняет их в локальном репозитории.
Условно говоря, git pull
– это последовательность двух команд: git fetch
(прием изменений от сервера) и git merge
(слияние).
В свою очередь, git push
переносит ветвь разработки в удаленную исходную точку, а git merge
— объединяет изменения из разработки в локальную ветку.
git init
— создание новых репозиториев;
git clone <remote>
— клонирование удаленного репозитория;
git rm <file>
— удаление файла;
git commit --amend
— изменение последнего коммита;
git log
— просмотр истории коммитов;
git branch <branch>
— создание новой ветки;
git branch –d <branch>
— удаление ветки;
git merge <branch>
— слияние веток;
git push <remote> <branch>
— отправка ветки на удаленный сервер;
git push <remote> :<branch>
— удаление ветки на удаленном сервере;
git tag
— просмотр меток;
git push <remote> <tag>
— обмен метками;
git remote
— отображение удаленных репозиториев;
git pull <remote> <branch>
— получение данных из удаленного репозитория и слияние с локальным;
git push <remote> <branch>
— отправка локальных изменений на удаленный сервер.
Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…
Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…
Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…
В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…
Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…
Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…