Лучшие учебники по Git

Git - это распределенная система управления версиями с открытым исходным кодом, созданная в 2005 году Линусом Торвальдсом и другими участниками сообщества разработчиков Linux. Git может работать со многими типами проектов, но чаще всего он используется для исходного кода программного обеспечения.

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

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

Когда Git инициализируется в каталоге проекта, он начинает отслеживать изменения файлов и сохраняет их как «наборы изменений» или «патчи». Пользователи, работающие вместе над проектом, отправляют свои наборы изменений, которые затем включаются (или отклоняются) в проект.

У freeCodeCamp есть плейлист YouTube с множеством практических советов по Git и GitHub.

Другие уроки:

  • Книга Pro Git, написанная Скоттом Чаконом и Беном Штраубом и опубликованная Apress. Книга полностью представлена ​​в документации Git.
  • Для загрузки, документации и учебного пособия в браузере: официальный сайт Git.
  • Самые полезные команды, когда у вас плохая ситуация с GIT: О, черт, мерзавец!

Понять три части проекта Git

Проект Git будет состоять из трех основных разделов:

  1. Каталог Git
  2. Рабочий каталог (или рабочее дерево)
  3. Плацдарм

В каталоге Git (расположенном в нем YOUR-PROJECT-PATH/.git/) Git хранит все необходимое для точного отслеживания проекта. Сюда входят метаданные и база данных объектов, в которую входят сжатые версии файлов проекта.

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

Плацдармом файл (также называемый «индекс», «этап», или «кэш») , который хранит информацию о том, что будет идти в следующей фиксацией. Фиксация - это когда вы говорите Git сохранить эти поэтапные изменения. Git делает снимок файлов в том виде, в каком они есть, и постоянно сохраняет этот снимок в каталоге Git.

С тремя разделами существует три основных состояния, в которых файл может находиться в любой момент времени: зафиксировано, изменено или поставлено. Вы изменяете файл каждый раз, когда вносите в него изменения в своем рабочем каталоге. Затем он ставится, когда вы перемещаете его в промежуточную зону. Наконец, он фиксируется после коммита.

Установить Git

  • Ubuntu: sudo apt-get install git
  • Windows: Скачать
  • Mac: Скачать

Настроить среду Git

В Git есть git configинструмент, позволяющий настраивать среду Git. Вы можете изменить внешний вид и функции Git, установив определенные переменные конфигурации. Выполните эти команды из интерфейса командной строки на вашем компьютере (терминал в Mac, командная строка или Powershell в Windows).

Существуют три уровня хранения этих переменных конфигурации:

  1. Система: находится в /etc/gitconfig, применяет настройки по умолчанию ко всем пользователям компьютера. Чтобы внести изменения в этот файл, используйте --systemпараметр с git configкомандой.
  2. Пользователь: находится в ~/.gitconfigили ~/.config/git/config, применяет настройки к одному пользователю. Чтобы внести изменения в этот файл, используйте --globalпараметр с git configкомандой.
  3. Проект: находится в YOUR-PROJECT-PATH/.git/config, применяет настройки только к проекту. Чтобы внести изменения в этот файл, используйте git configкоманду.

Если есть настройки, которые конфликтуют друг с другом, конфигурации уровня проекта переопределят настройки уровня пользователя, а конфигурации уровня пользователя переопределят конфигурации уровня системы.

Примечание для пользователей Windows: Git ищет файл конфигурации уровня пользователя ( .gitconfig) в вашем $HOMEкаталоге ( C:\Users\$USER). Git также ищет /etc/gitconfig, хотя он относительно корня MSys, который находится там, где вы решите установить Git в своей системе Windows при запуске установщика. Если вы используете версию 2.x или более позднюю версию Git для Windows, существует также файл конфигурации системного уровня в C:\Documents and Settings\All Users\Application Data\Git\configWindows XP и в C:\ProgramData\Git\configWindows Vista и новее. Этот файл конфигурации может быть изменен только git config -f FILEадминистратором.

Добавьте свое имя и адрес электронной почты

Git включает имя пользователя и адрес электронной почты как часть информации в коммите. Вы захотите настроить это в файле конфигурации на уровне пользователя с помощью следующих команд:

git config --global user.name "My Name" git config --global user.email "[email protected]"

Измените текстовый редактор

Git автоматически использует текстовый редактор по умолчанию, но вы можете это изменить. Вот пример использования редактора Atom ( --waitопция указывает оболочке дождаться текстового редактора, чтобы вы могли выполнять свою работу в нем до того, как программа продолжит работу):

git config --global core.editor "atom --wait"

Добавить цвет в вывод Git

Вы можете настроить свою оболочку для добавления цвета в вывод Git с помощью этой команды:

git config --global color.ui true

Чтобы увидеть все параметры конфигурации, используйте команду git config --list.

Инициализировать Git в проекте

После того, как Git установлен и настроен на вашем компьютере, вам необходимо инициализировать его в своем проекте, чтобы начать использовать его возможности контроля версий. В командной строке используйте cdкоманду для перехода к папке верхнего уровня (или корневой) вашего проекта. Далее запускаем команду git init. При этом будет установлена ​​папка каталога Git со всеми файлами и объектами, которые необходимы Git для отслеживания вашего проекта.

Важно, чтобы каталог Git был установлен в корневой папке проекта. Git может отслеживать файлы в подпапках, но не отслеживает файлы, расположенные в родительской папке относительно каталога Git.

Получите помощь в Git

Если вы забыли, как работает какая-либо команда в Git, вы можете получить доступ к справке Git из командной строки несколькими способами:

git help COMMAND git COMMAND --help man git-COMMAND

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

  • fили spacebarна страницу вперед
  • b на страницу назад
  • q бросить

Разница между Git и GitHub

Git и Github - это разные вещи. Git - это система контроля версий, а GitHub - это сервис для размещения репозиториев Git, который помогает людям совместно писать программы. Однако их часто сбивают с толку из-за схожего названия, из-за того, что GitHub строится поверх Git, и из-за того, что многие веб-сайты и статьи не делают различий между ними достаточно четким.

Git - это не GitHub

Git

Git - это распределенная система контроля версий. Git отвечает за отслеживание изменений содержимого - обычно файлов исходного кода.

Для получения дополнительной информации, есть полная статья о самом Git.

GitHub

GitHub - это сервис, предоставляющий размещение репозитория Git. Это означает, что они предоставляют готовое решение для размещения репозиториев Git на своих серверах. Это может быть полезно для хранения резервной копии вашего репозитория (Git отслеживает только изменения, внесенные в ваши файлы с течением времени; репозиторий все еще требует резервного копирования), и иметь централизованное место для хранения и обмена вашим кодом с другими.

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

GitHub - не единственный, кто предоставляет такие услуги. Один из его основных конкурентов - GitLab. Подробнее об этом читайте в разделе о хостинге Git.

Как пройти аутентификацию с GitHub с помощью SSH

rsaПрежде чем продолжить, убедитесь, что здесь нет файлов, используйте:

ls -al ~/.ssh

Если нечего перечислять (т.е. : No such file or directory), используйте:

mkdir $HOME/.ssh

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

ssh-keygen -t rsa -b 4096 -C [email protected]

Теперь использование ls -al ~/.sshпокажет наш id_rsa.pubфайл.

Добавьте SSH-ключ к SSH-агенту:

eval "$(ssh-agent -s)" # for mac and Linux from bash
eval `ssh-agent -s` ssh-agent -s # for Windows

Добавьте ключ RSA в SHH с помощью:

ssh-add ~/.ssh/id_rsa

Скопируйте ключ в буфер обмена

clip < ~/.ssh/id_rsa.pub # Windows
cat ~/.ssh/id_rsa.pub # Linux

Перейдите на страницу настроек GitHub и нажмите кнопку «Новый ключ SSH» и вставьте созданный ключ.

Затем авторизуйтесь с помощью:

ssh -T [email protected]