Введение в Git: что это такое и как его использовать

Git - это распределенная система контроля версий с открытым исходным кодом . Теперь это много слов для определения Git.

Позвольте мне разобрать это и пояснить формулировку:

  • Система управления: это в основном означает, что Git является трекером контента. Таким образом, Git можно использовать для хранения контента - он в основном используется для хранения кода из-за других функций, которые он предоставляет.
  • Система контроля версий : код, который хранится в Git, постоянно меняется по мере добавления нового кода. Кроме того, многие разработчики могут добавлять код параллельно. Таким образом, система контроля версий помогает справиться с этим, сохраняя историю произошедших изменений. Кроме того, Git предоставляет такие функции, как ветки и слияния, о которых я расскажу позже.
  • Распределенная система контроля версий : у Git есть удаленный репозиторий, который хранится на сервере, и локальный репозиторий, который хранится на компьютере каждого разработчика. Это означает, что код не просто хранится на центральном сервере, но полная копия кода присутствует на всех компьютерах разработчиков. Git - это распределенная система управления версиями, поскольку код присутствует на каждом компьютере разработчика. Я объясню концепцию удаленных и локальных репозиториев позже в этой статье.

Зачем нужна система контроля версий, такая как Git

Реальные проекты обычно имеют несколько разработчиков, работающих параллельно. Таким образом, необходима система контроля версий, такая как Git, чтобы гарантировать отсутствие конфликтов кода между разработчиками.

Кроме того, требования в таких проектах часто меняются. Таким образом, система контроля версий позволяет разработчикам возвращаться к более старой версии кода.

Наконец, иногда несколько проектов, которые выполняются параллельно, включают одну и ту же кодовую базу. В таком случае очень важна концепция ветвления в Git.

Приступим к использованию Git прямо сейчас

Вместо того, чтобы упоминать все концепции сразу, я объясню концепции Git на примере, чтобы было легче следовать.

Скачать git

Эта ссылка содержит подробную информацию о том, как установить Git в нескольких операционных системах:

//git-scm.com/book/en/v2/Getting-Started-Installing-Git

Убедитесь, что Git установлен, используя следующую команду в командной строке:

git --version

Создайте свой локальный репозиторий Git

На вашем компьютере создайте папку для вашего проекта. Назовем папку проекта simple-git-demo.

Перейдите в папку вашего проекта и добавьте в проект локальный репозиторий Git, используя следующие команды:

cd simple-git-demo git init

Команда git initдобавляет в проект локальный репозиторий Git.

Давайте сейчас добавим небольшой код

Создайте файл с именем demo.txtв папке проекта и добавьте в него следующий текст:

Initial Content

Здесь мы будем демонстрировать простой текст вместо реального кода, поскольку основное внимание в этой статье уделяется Git, а не конкретному языку программирования.

Постановка и фиксация кода

Фиксация - это процесс, в котором код добавляется в локальный репозиторий . Перед фиксацией кода он должен быть в промежуточной области . Промежуточная область предназначена для отслеживания всех файлов, которые должны быть зафиксированы.

Любой файл, который не добавлен в область подготовки, не будет зафиксирован. Это дает разработчику контроль над тем, какие файлы необходимо зафиксировать.

Постановка

Используйте следующую команду для подготовки файла:

git add demo.txt

Если вы хотите добавить несколько файлов, вы можете использовать:

git add file1 file2 file3

Если вы хотите добавить все файлы из папки проекта в промежуточную область, используйте следующую команду:

git add .

Используйте это осторожно, поскольку он добавляет все файлы и папки вашего проекта в область подготовки.

Совершение

Используйте следующую команду, чтобы зафиксировать файл:

git commit -m "Initial Commit"

«Начальная фиксация» - это сообщение фиксации здесь. Введите соответствующее сообщение фиксации, чтобы указать, какие изменения кода были сделаны в этой конкретной фиксации.

Статус Git и журнал Git

Теперь измените demo.txtфайл и добавьте следующий фрагмент:

Initial Content Adding more Content

Положение дел

Используйте, git statusчтобы узнать информацию о том, какие файлы были изменены и какие файлы находятся в промежуточной области - он также показывает другую информацию, которую мы пока можем игнорировать.

Используйте следующую команду, чтобы увидеть статус:

git status

Статус показывает, что demo.txtэто изменено и еще не находится в области подготовки.

Теперь давайте добавим demo.txtв промежуточную область и зафиксируем ее, используя следующие команды:

git add demo.txt git commit -m "demo.txt file is modified"

Журнал

Используйте, git logчтобы распечатать все коммиты, которые были сделаны до сих пор.

Для этого используется следующая команда:

git log

Журнал показывает автора каждой фиксации, дату фиксации и сообщение фиксации.

ветви

До сих пор мы не создавали никаких веток в Git. По умолчанию коммиты Git попадают в главную ветку.

Что такое ветка?

Ветка - это не что иное, как указатель на последний коммит в репозитории Git. Итак, в настоящее время наша основная ветка является указателем на вторую фиксацию “demo.txt file is modified”.

Зачем нужно несколько веток?

Для поддержки нескольких параллельных разработок необходимо несколько ветвей. См. Изображение ниже, чтобы увидеть, как работают ветки.

Изначально фиксация 1 и фиксация 2 выполнялись в основной ветке. После фиксации 2 создается новая ветка с именем «Test», и в тестовую ветвь добавляются фиксация 3 и фиксация 4.

В то же время в основную ветку добавляются разные коммиты 3 и 4. Здесь мы видим, что после фиксации 2 две параллельные разработки выполняются в двух отдельных ветвях.

Тестовая ветвь и мастер-ветка здесь разошлись и имеют разный код - код из тестовой ветки можно объединить с мастер-веткой, используя git merge. Это будет рассмотрено позже.

Создать новую ветку в локальном

Создайте новую ветку под названием test, используя следующую команду:

git branch test

Эта команда создает testветку.

Мы все еще находимся в контексте ветки master. Для того, чтобы перейти на test ветку. используйте следующую команду:

git checkout test

Сейчас мы в testфилиале.

Вы можете перечислить все ветки на локальном уровне, используя следующую команду:

git branch

Сделайте несколько коммитов в новой ветке

Измените demo.txt, добавив следующий фрагмент:

Initial Content Adding more Content Adding some Content from test Branch

Теперь выполните этап и выполните фиксацию, используя следующие команды:

git add demo.txt git commit -m "Test Branch Commit"

Эта фиксация была сделана в тестовой ветке, и теперь тестовая ветвь опережает мастер-ветку на 1 фиксацию, поскольку тестовая ветвь также включает 2 фиксации из главной ветки.

Вы можете проверить историю фиксации в Test Branch, используя:

git log

Слияние

В настоящее время Test Branch опережает Master на 1 коммит. Допустим, теперь мы хотим, чтобы весь код из тестовой ветви был возвращен в главную ветвь. Это git mergeочень полезно.

Чтобы объединить код из тестовой ветки в главную ветвь, выполните следующие действия:

Сначала вернитесь в главную ветку:

git checkout master

Затем запустите mergeкоманду:

git merge test

После выполнения этих двух команд слияние должно быть успешным. В этом примере нет конфликтов.

Но в реальных проектах при слиянии будут конфликты. Разрешение конфликта - это то, что приходит с опытом, так что, работая больше с Git, вы сможете научиться разрешать конфликты.

Бегать git logТеперь вы заметите, что у мастера также есть 3 коммита.

Удаленный репозиторий Git

До сих пор мы работали только в локальном репозитории. Каждый разработчик будет работать в своем локальном репозитории, но, в конце концов, он отправит код в удаленный репозиторий. Когда код находится в удаленном репозитории, другие разработчики могут видеть и изменять этот код.

GitHub

Здесь мы будем использовать GitHub для удаленного репозитория.

Перейдите на //github.com/ и создайте учетную запись.

После регистрации на домашней странице GitHub нажмите « Начать проект», чтобы создать новый репозиторий Git. Дайте репозиторию имя и нажмите «Создать репозиторий».

Дайте название как git-blog-demo.

Это создаст удаленный репозиторий в GitHub, и когда вы откроете репозиторий, откроется страница, подобная изображению ниже:

URL-адрес репозитория - это выделенная часть //github.com/aditya-sridhar/git-blog-demo.git

Чтобы указать ваш локальный репозиторий на удаленный репозиторий, используйте следующую команду:

git remote add origin [repository url]

Git Push

Чтобы протолкнуть весь код из локального репозитория в удаленный репозиторий, используйте следующую команду:

git push -u origin master

Это перемещает код из главной ветви в локальном репозитории в главную ветку в удаленном репозитории.

Дополнительные команды

Git Pull

git pullиспользуется для извлечения последних изменений из удаленного репозитория в локальный репозиторий. Код удаленного репозитория постоянно обновляется различными разработчиками, поэтому git pull необходимо:

git pull origin master

Git Clone

git cloneиспользуется для клонирования существующего удаленного репозитория на ваш компьютер. Команда для этого:

git clone [repository url]

Поздравляю

Теперь вы знаете основы использования Git, так что продолжайте изучать больше!

Вскоре я опубликую еще одну статью о более сложных концепциях Git. Следите за обновлениями!

Об авторе

Я люблю технологии и слежу за их развитием. Мне также нравится помогать другим, используя свои знания в области технологий.

Не стесняйтесь связаться со мной в моей учетной записи LinkdIn //www.linkedin.com/in/aditya1811/

Вы также можете подписаться на меня в Twitter //twitter.com/adityasridhar18

Мой сайт: //adityasridhar.com/

Другие сообщения от меня

Как эффективно использовать Git