Git и GitHub являются неотъемлемой частью рабочего процесса разработки программного обеспечения многих крупных команд. Они также поддерживают некоторые из самых популярных проектов с открытым исходным кодом. Очень важно, чтобы вы познакомились с Git и сделали GitHub неотъемлемой частью вашего рабочего процесса как разработчика.
Сегодня мы кратко познакомим вас с Git и GitHub. Вы изучите основы этих инструментов и узнаете, как создать новый репозиторий на вашем локальном компьютере и на GitHub. Вы также узнаете, как синхронизировать локальный репозиторий с удаленным на GitHub. Приступим!
Сегодня мы рассмотрим:
- Что такое Git?
- Терминология Git
- Что такое GitHub?
- Начало работы с Git
- Использование Git для нового проекта
- Добавить Git в существующий проект
- Что узнать дальше
- Мастер самые популярные инструменты разработки программного обеспечения.
- Что такое Git?
- Терминология Git
- Что такое состояния Git?
- Что такое Git commit?
- Что такое Git checkout?
- Что такое Git clone?
- Что такое Git pull?
- Что такое тег Git?
- Что такое GitHub?
- Начните с Git
- 1. Установка для Linux
- 2. Первоначальная конфигурация
- Сохранить обучение продолжается.
- Использование Git для нового проекта
- 1. Инициализация репозитория
- 2. Промежуточные фиксации
- 3. Игнорирование файлов
- Добавление Git в существующий проект
- 1. Работа с пультами
- 2. Отправка кода в GitHub
- 3. Обновление локального репозитория
- Что узнать дальше
- Продолжить чтение о Git и открытом исходном коде
Мастер самые популярные инструменты разработки программного обеспечения.
Изучите основы управления версиями, а также то, как GitHub может служить платформой для разработки программного обеспечения.
Руководство по Git & Контроль версий
Что такое Git?
Git — это распределенная система контроля версий , предназначенная для отслеживания изменений в файлах проекта. Git был выпущен в 2005 году Линусом Торвальдсом для ядра Linux. Другие разработчики ядра внесли свой вклад в его разработку, и он стал самым популярным выбором для команд разработчиков программного обеспечения. Git предлагает мощную поддержку нелинейной разработки и скорости.
Системы контроля версий — это программный инструмент, который управляет изменениями в компьютерной программе, документе или коллекции файлов. Они помогают пользователю или группе пользователей отслеживать изменения, внесенные в проект с течением времени.
Git работает, сохраняя моментальный снимок состояния файлов проекта в определенное время. Он сохраняет файлы, которые были обновлены, и ссылки на файлы, которые изменились с момента последнего снимка. Git необходим для разработки программного обеспечения, так как большинство проектов разрабатываются командами.
Git является фактическим стандартом для управления версиями. Более 87% разработчиков используют Git в качестве системы управления. Любому разработчику необходимы хотя бы базовые знания Git, чтобы быть успешным и востребованным на рынке..
Большинство компаний, больших и малых, используют Git в качестве репозитория, в том числе:
- Netflix
- Lyft
- Shopify
- Атласский
- eBay
Терминология Git
Что такое состояния Git?
Git имеет три основных состояния, в которых он позволяет получать файлы проекта. Эти три состояния описаны ниже.
- Modified: файлы, которые были изменены, но изменения еще не были отмечены Git. Эти изменения не станут частью следующего снимка.
- Поэтапный: изменения были отслежены Git и будут отмечены как таковые в следующем снимке..
- Зафиксировано: измененные файлы, которые успешно стали частью последнего снимка состояния.
A repository — это каталог или папка, в которых находится ваш проект, и он может быть локальным (на вашем компьютере) или размещаться в сети. Он содержит всю кодовую базу и историю ее изменений. Популярные сервисы онлайн-хостинга для репозиториев — GitHub, GitLab и Bitbucket. Мы узнаем больше о GitHub позже.
Что такое Git commit?
Думайте о Git как об инструменте, который управляет временной шкалой. Коммиты — это единицы на временной шкале, такие как вехи или события. С помощью команды фиксации мы создаем эти отдельные события.
Команда фиксации d делает снимок проекта в определенный момент разработки. Закрепленные снимки не изменятся сами по себе. Перед выполнением git commit
мы используем команду git add
для продвижения любых изменений, которые мы позже сохраним. Самыми популярными командами являются фиксация и добавление.
Что такое Git checkout?
Команда git checkout — это способ переключения между ветвями или восстановления файлов рабочего дерева. Думайте об этом как о переключении между различными версиями или функциями проекта. Эта команда использует три объекта: файлы, коммиты и ветки.
Что такое Git clone?
Команда git clone
— это используется для таргетинга на репозиторий и его копирования. Затем у вас есть собственная версия этого репо, и вы можете начать ее редактировать, не изменяя оригинал. Как правило, оригинал хранится на удаленном сервере, таком как GitHub.
Что такое Git pull?
git pull
Команда может использоваться для доступа и загрузки файлов из удаленного репозитория, а также для обновления вашего локального репозитория, чтобы он соответствовал обновлениям оригинала. Думайте об этом, как будто вы объединяете свою версию и оригинал. Команда git pull состоит из двух команд: git fetch
и затем git merge
..
Что такое тег Git?
Теги — это ссылка на определенный момент в истории файлов репозитория Git. Думайте об этом как о ветке, которая не меняется. Теги позволяют отмечать важные контрольные точки на временной шкале проекта (т. Е. Выпуски версий программного обеспечения).
Что такое GitHub?
GitHub — это платформа, которую можно использовать для размещения кода в Интернете. Думайте о GitHub как о платформе, которая хранит всю кодовую базу в удаленном репозитории. Он поставляется с инструментами для совместной работы над проектами любого размера.
Включая создание удаленных репозиториев, GitHub позволяет разработчикам иметь единый источник правды для своего исходного кода. Это то, что делает возможным открытый исходный код.
Чтобы создавать свои репозитории на GitHub или участвовать в проектах с открытым исходным кодом, вам необходимо создать личную учетную запись на GitHub.
Если ваша кодовая база находится в удаленном репозитории на GitHub:
- Каждый другой участник, который хочет работать над проектом, будет знать, что они могут получить код из удаленный репозиторий.
- Любые обновления, которые они делают, а затем хотят поделиться, могут отправить эти изменения в удаленный репозиторий вместо того, чтобы отправлять каждому участнику обновления одно за другим; GitHub служит единственным источником истины для проекта.
- Участники и соавторы могут использовать инструменты GitHub для управления проектами и автоматизации, чтобы сделать разработку быстрой и эффективной.
Начните с Git
Программное обеспечение Git — это мощный инструмент командной строки, который вы можете установить на свой компьютер, независимо от того, используете ли вы Windows, macOS или Linux.
1. Установка для Linux
Для операционной системы на основе Debian, такой как Ubuntu, вы можете выполнить следующую команду, чтобы установить Git за один раз:
sudo apt install git-all
Если вы используете другую операционную систему или дистрибутив Linix, вы можете найти инструкции по установке по этой ссылке.
После установки git вы можете запускать команды git локально. Чтобы убедиться, что Git установлен успешно, запустите эту команду в своем терминале:
git --version
Результат должен быть текущей версией Git, установленной в системе.
2. Первоначальная конфигурация
Команда git config
позволяет вам установить переменные конфигурации, которые управляют тем, как git выглядит и работает. Команда config работает на разных уровнях:
- Local-level: Это означает, что все ваши учетные данные и конфигурации ограничены только каталогом вашего проекта. . По умолчанию
git config
записывает на локальный уровень, когда конфигурация не передана. - Global-level: эта конфигурация специфично для пользователя в операционной системе; значения конфигурации находятся в домашнем каталоге пользователя.
- Системный уровень: Эти конфигурации помещаются в корневой путь системы; он отслеживает всех пользователей и все репозитории в операционной системе.
Первое, что вы настраиваете после успешной установки, — это ваш адрес электронной почты и имя пользователя; это позволит определить наш вклад и изменения в исходном коде проекта. Чтобы настроить свое имя пользователя и адрес электронной почты, выполните в командной строке следующее:
git config --global user.email "Educative_learner@example.com" git config - global user.name "Educative Learner"
Вы можете убедиться, что команды работали, выполнив следующие команды:
git config user.emailgit config user.name
Чтобы просмотреть все конфигурации, сохраненные в текущий момент в вашем рабочем каталоге, выполните:
git config -l
Если вы запустите предыдущую команду с флагом - global
, ваш вывод будет содержать настройки конфигурации только на системном уровне.
Сохранить обучение продолжается.
Изучите Git и контроль версий, не просматривая видео или документацию. Вы узнаете более сложные темы, включая коммиты, ветки, слияние и ребазирование Git. К концу у вас будет отличный новый навык, который вы будете использовать на протяжении всей своей карьеры.
Руководство по Git и контролю версий
Использование Git для нового проекта
Давайте посмотрим, как мы можем настроить новый проект с помощью Git.
1. Инициализация репозитория
Сначала создайте новый каталог, используя следующую команду:
mkdir git_started
Затем вам нужно перейти во вновь созданный каталог:
cd git_started
Чтобы инициализировать репозиторий git в этом папке, которая теперь является вашим рабочим каталогом, выполните следующую команду:
git init
Запуск этой команды приведет к инициализации пустого Репозиторий Git в текущем каталоге. Создается новая подпапка с именем .git
, которая содержит несколько файлов и другие подкаталоги, которые Git будет использовать для отслеживания изменений в проекте.
Давайте создадим первый файл, который мы будем отслеживать с помощью Git. Убедитесь, что вы все еще находитесь в каталоге git_started
на своем терминале, затем выполните следующую команду:
touch README.md
Будет создан файл с именем README
с расширением Markdown.
Примечание: Markdown — это облегченный язык разметки с синтаксисом простого текстового форматирования.
Большинство программ, используемых для визуального просмотра репозиториев Git (с помощью графического интерфейса), ищут readme.md
и отобразите содержимое на домашней странице проекта. Обычно вы включаете в этот файл информацию о своем проекте, такую как инструкции по установке.
Откройте файл в редакторе и добавьте в него следующие строки:
# git_startedЭто ваш первый проект Git. Мы будем работать над этим файлом по мере того, как узнаем больше о Git.
Сохраните и закройте этот файл. После сохранения файла состояние вашего репозитория должно измениться. Вы можете проверить этот статус, выполнив следующую команду:
git status
Эта команда ничего не меняет и не обновляет. Вместо этого он распечатывает, какие файлы были изменены, поставлены или не отслеживаются. Не отслеживаемый файл — это файл, который еще не был добавлен в индекс git, в то время как файл, который был изменен с момента последней фиксации, будет считаться измененным git.
2. Промежуточные фиксации
Чтобы начать отслеживание файлов в каталоге вашего проекта, вы воспользуетесь командой git add
. Эта команда добавляет файлы, которые вы указали, в область подготовки. Файлы, которые были поставлены, будут добавлены в следующую фиксацию.
Коммит — это моментальный снимок всего состояния, в котором ваш проект находится в данный момент. Git отслеживает ваш проект с помощью серии или цепочки коммитов. Самый последний снимок вашего репозитория называется HEAD .
Как только вы создадите новый коммит, он будет напрямую связываться с HEAD. Однако, поскольку последняя фиксация теперь является самой последней, она будет считаться HEAD вместо предыдущей.
Давайте сейчас зафиксируем файл readme нашего проекта. Сначала подготовьте файл, запустив:
git add.
Обратите внимание, что эта команда добавляет все неотслеживаемые и измененные файлы в плацдарм. Если вместо этого вы хотите добавить конкретный файл, укажите имя файла следующим образом:
git add README.md
Вы можете также удалите файлы из постановки, выполнив следующую команду:
git rm --cached [filename]
Далее вам нужно совершить фиксацию с сопроводительным сообщением фиксации. Сообщения о фиксации — это короткие описательные сообщения, описывающие, какие изменения были внесены..
Давайте зафиксируем файл, который в данный момент подготовлен, выполнив следующую команду:
git commit -m "add readme"
Эта команда сохраняет новую фиксацию с сообщением «добавить readme». Теперь, когда вы запустите git status
, вы получите сообщение о том, что ваше рабочее дерево чистое (нет измененных или неотслеживаемых файлов).
3. Игнорирование файлов
Иногда есть неотслеживаемые файлы, которые вы не хотели бы добавлять в свой индекс git. Это могут быть файлы конфигурации для конкретного пользователя, например файл .env
, или папки с большими файлами, например папка поставщика для проектов PHP или node_modules
в JavaScript. проекты.
Вы можете указать git игнорировать эти файлы, добавив шаблоны глобусов в файл .gitignore
. Этот файл будет находиться в корневом каталоге вашего проекта и может содержать любое количество шаблонов. Любой неотслеживаемый файл или папка, соответствующие шаблону, указанному в файле .gitignore
, игнорируются git.
Давайте посмотрим, как это выглядит на практике. Создайте файл с именем .gitignore в вашем текущем рабочем каталоге.
touch .gitignore
Теперь откройте этот файл и добавьте следующие строки к нему:
# Config files.env.env.local/.vscode # Большие папки/node_modules/vendor
Каждая строка в файле .gitignore
определяет шаблон. Строки, начинающиеся со знака #
, являются комментариями. Шаблоны здесь аналогичны тем, которые вы обычно видите в проекте PHP или JavaScript.
Ниже приведены примеры шаблонов, используемых в файле .gitignore
:
*.env
соответствует всем файлам с расширением.env
-
/vendor
соответствует папке с именем vendor, а также ее подпапкам и файлам. -
build_output.log
будет соответствовать.log
файл с именемbuild_output
.
Добавление Git в существующий проект
Чтобы добавить Git в в уже существующем проекте выполните следующие действия по порядку:
- Убедитесь, что в вашем терминале вы находитесь в каталоге проекта,
- Инициализируйте git с помощью
git init
- Создайте файл
.gitignore
и укажите файлы и папки, которые следует игнорировать (если это не nec essary, вы можете перейти к шагу 4). - Подготовьте файлы с помощью
git add.
Зафиксируйте свои изменения с помощью соответствующего сообщения фиксации, например:git commit -m "первая фиксация"
1. Работа с пультами
Давайте создадим удаленный репозиторий на GitHub. Как только вы войдете в систему и окажетесь на главной странице, вы увидите кнопку в верхнем левом углу с названием «Новый» (см. Рисунок ниже).
После того, как вы нажмете кнопку «Создать», GitHub перенаправит вас на другую страницу, где вам нужно будет указать имя для репозитория. Вы также можете добавить описание своего репозитория, но это необязательно.
GitHub позволяет сделать ваши репозитории общедоступными или частными
- публичный репозиторий доступен для всех. Любой может увидеть базу кода и клонировать этот репозиторий на свой локальный компьютер для использования.
- частный репозиторий виден только тем людям, которых вы выбрали. Никто другой не может его просмотреть.
В нашем проекте уже есть файл README и .gitignore
, поэтому мы можем оставить параметры для инициализации с README и снятым флажком .gitignore
2. Отправка кода в GitHub
Создав репозиторий, теперь нам нужно добавить файлы из нашего локального репозитория в удаленный на GitHub. Для этого нам сначала нужно установить ссылку на удаленный репозиторий из нашего локального проекта.
Git предоставляет удаленную команду, чтобы помочь с этим. Команда git remote
позволяет Git отслеживать удаленные репозитории и связывать локальные репозитории с этими удаленными. Например, предположим, что мы хотим добавить наш удаленный репозиторий к локальному. Формат команды:
git remote add
Следовательно, команда, которую мы будем запускать, будет быть:
git remote add origin
Примечание: Источник имени — это, по сути, более понятный для человека способ связи с удаленным репозиторием вместо того, чтобы всегда использовать фактический URL-адрес.
origin
— это просто обычное имя, но мы можем использовать и любое другое имя.
После того, как мы добавили URL-адрес удаленного репозитория в наш локальный Во-первых, мы захотим отправить или загрузить наш локальный код и его историю изменений в удаленный репозиторий. Это можно сделать с помощью git push
.
Команда
git push
обновит код удаленного репозитория. со всеми обновлениями, которые были сделаны в локальном репозитории.
Давайте воспользуемся этой командой в нашем проекте. Сначала зафиксируйте файл .gitignore
, который мы создали ранее.
git add .git commit -m "add .gitignore"
Теперь вы можете запустить следующую команду, чтобы отправить свой код в удаленный репозиторий:
git push origin master
Вот и все. Вы успешно разместили свой код в удаленном репозитории.
3. Обновление локального репозитория
Чтобы обновить локальный репозиторий из удаленного, вам нужно запустить git pull
. Эта команда извлекает каждое изменение в удаленную ветку и автоматически объединяет его с вашим локальным репозиторием.
Каждое изменение, внесенное в ваш локальный репозиторий, должно быть зафиксировано до того, как может произойти слияние.
Что узнать дальше
Поздравляем с созданием вашего первого локального и удаленного репозитория Git! Вам нужно будет хорошо разбираться в Git и GitHub, поскольку многие команды используют эти инструменты в своих рабочих процессах разработки продуктов. Еще есть чему поучиться. Следующие вещи, на которые стоит обратить внимание:
- Журналы Git
- Как отменить коммиты
- Создание и управление ветками
- Устранение конфликтов слияния
- Перебазирование Git против слияния
- и др.
Чтобы начать работу с этими и другими концепциями, ознакомьтесь с учебным курсом A Guide to Git & Version Control . В этом курсе вы познакомитесь с основами Git и познакомитесь с более сложными концепциями. Вы узнаете, как работать с ветками, как использовать команду git stash, объединять код и разрешать конфликты слияния среди других концепций.
Приветствую вас!
Продолжить чтение о Git и открытом исходном коде
- Что такое программное обеспечение с открытым исходным кодом: 5-минутное руководство
- Вводное руководство по соревновательному программированию на C ++
- GitHub переосмысливает процесс набора персонала