Руководство для начинающих по Git

Изображение, посвященное руководству по Git

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

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

Содержание

  • Что такое Git?
  • Установка Git
  • Использование Git для локального проекта
  • Использование Git для онлайн-проектов
  • Часто задаваемые вопросы

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

Что такое Git?

В своей основе Git — это простая программа для отслеживания истории. Она отслеживает изменения между различными версиями файла. Принцип работы заключается в том, что каждый раз, когда вы изменяете файл, Git создает хеш для этой конкретной версии файла.

После этого он сравнивает и анализирует эти хеши с “деревом Git” репозитория. Такой подход позволяет Git хранить только разницу между несколькими версиями файла.

Дерево Git

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

Информация о различиях Git

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

Установка Git

Git — это очень распространенный пакет в операционных системах на базе Linux. Поэтому установка его невероятно проста. В большинстве случаев он уже предустановлен в вашей системе. Если вы используете Debian или Ubuntu, вы можете использовать apt для установки Git:

sudo apt install git

Установка Git

Для Fedora или RHEL используйте dnf:

sudo dnf install git-all

Тем временем, если вы используете Arch Linux, вы также можете установить Git с помощью pacman:

sudo pacman -S git

Использование Git для локального проекта

Использовать Git на вашем локальном компьютере очень просто. Первое, что вам нужно сделать, это создать новый репозиторий Git. Его основное назначение — служить контейнером для всех объектов Git, которые вы добавите для этого проекта.

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

cd my-project  
git init

Инициализация Git

После этого Git создаст папку “.git” в корне вашего проектного каталога. Это будет служить как маркер для программы Git, так и папкой для хранения всех объектов Git для этого проекта.

Добавление существующих файлов в ваш репозиторий

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

Для этого вы можете выполнить следующую команду в корневом каталоге вашей папки:

git add .

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

git diff --cached

Новые файлы Git

Также читайте: Как очистить кеш Git

Коммит вашего первого репозитория

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

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

git commit -a

Это скажет Git записать все, что он хранит в своем кеше, в виртуальную файловую систему.

После этого Git попросит вас ввести описание для этого конкретного коммита. Это позволит вам предоставить краткое объяснение того, что он содержит, а также способ легко отличить этот коммит от других. В моем случае, поскольку это мой первый коммит, я просто напишу “Первый коммит”.

Первый коммит Git

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

git ls-files

Новые файлы Git

Если во время вышеуказанного процесса Git выдает ошибку, что не может вас распознать, вам нужно будет сказать ему, кто вы. Сделать это так же просто, как ввести:

git config --global user.name "Ваш_Имя_Пользователя"  
git config --global user.email "[email protected]"

Основные операции с файлами в Git

В большинстве случаев команды UNIX будут работать с Git. Это означает, что вы можете использовать ls, cp, mv и rm для всех файлов и папок внутри репозитория Git. Однако есть несколько специфических команд, которые вы можете использовать для легкого манипулирования объектами Git.

Например, вы можете использовать подкоманду ls-tree, чтобы просмотреть содержимое конкретного дерева Git, а также текущее значение хеша каждого файла.

git ls-tree master

Новые файлы дерева Git

Еще одной командой, которую вы можете использовать, является версия mv для Git. Это позволяет вам перемещать файлы в любом месте внутри репозитория и при этом сохранять их историю.

git mv ./hello.file ./welcome.file

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

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

Переименование файла Git

Наконец, Git также предоставляет подкоманду для удаления объектов. Аналогично mv, вы можете использовать версию rm для Git, чтобы удалить файл в вашем текущем репозитории. Делая это таким образом, вы можете аккуратно удалить текущий объект для этого конкретного файла.

git rm ./old.file

Удаление файла Git

Клонирование удаленного репозитория

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

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

git clone https://github.com/git/git.git

Клонирование репозитория Git

Также возможно клонировать репозитории, которые существуют только в локальной сети. Это полезно, если вы сотрудничаете с другими людьми по локальной сети. Более того, процесс клонирования проекта в локальной сети точно такой же:

git clone 192.168.1.100:/home/bob/awesome-project

Также читайте: Как использовать псевдонимы Git для повышения эффективности работы с Git

Использование Git для онлайн-проектов

С этим, еще одним способом сотрудничества с другими людьми является использование стороннего хостинга. В этом случае вы используете удаленный сервис, такой как Github, для размещения вашего проекта в Интернете. Это может быть невероятно полезно, если вам нужен быстрый и простой способ распространить свою работу на широкую аудиторию.

Сайт Github

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

Создание вашего первого онлайн-репозитория

Зная это, начать репозиторий через Github невероятно просто. Как только вы войдете в свою учетную запись, сайт перенаправит вас на вашу личную страницу.

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

Страница входа в Github

Отсюда вам нужно нажать на знак “+” рядом с вашей фотографией профиля. Это откроет небольшое выпадающее меню, где вы можете выбрать несколько действий для вашей учетной записи. Затем вам нужно нажать на ссылку “Новый репозиторий” из этого меню.

Новый репозиторий Github

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

Страница нового репозитория

Сначала вам нужно предоставить имя репозитория для вашего проекта. Это будет служить именем, по которому другие люди могут искать ваш репозиторий.

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

Наконец, вам нужно нажать кнопку “Создать репозиторий”, чтобы завершить создание вашего нового проекта.

Также читайте: Как удалить локальную и удаленную ветку Git

Связывание Github с вашим локальным компьютером

С этим, следующим шагом будет связывание вашего локального компьютера с вашей учетной записью Github. Для этого вам нужно сделать две вещи:

  • Во-первых, вам нужно создать SSH-ключ для вашего компьютера. Это короткий криптографический ключ, который вы можете сгенерировать локально на вашем компьютере.
  • Наконец, вам нужно сообщить Github о вашем текущем SSH-ключе. Это позволяет вашему компьютеру иметь фиксированную идентичность для Github. В свою очередь, он использует эту идентичность для проверки вас каждый раз, когда вы обновляете ваш репозиторий.

Создание вашего SSH-ключа

Если вы используете Debian или Ubuntu, вы можете установить SSH с помощью apt:

sudo apt install ssh

Установка SSH

После этого вы можете запустить программу ssh-keygen, чтобы создать ssh-ключ:

ssh-keygen -t ed25519 -C "[email protected]"  
ssh-add /home/$USER/.ssh/id_ed25519

Связывание вашего SSH-ключа

Вернитесь на свою панель управления Github, нажмите на свою фотографию профиля, а затем на “Настройки”.

Настройки аккаунта Github

Это откроет общие настройки для вашей учетной записи Github. Отсюда вам нужно нажать на ссылку “SSH и GPG ключи” в разделе “Доступ” на левой боковой панели страницы.

SSH ключи аккаунта Github

Нажмите кнопку “Новый SSH-ключ” рядом с заголовком “SSH ключи”. Это загрузит страницу настройки ключа, где вы можете скопировать содержимое вашего нового SSH-ключа.

Страница нового SSH-ключа

Откройте ваш файл ключа (в моем случае, файл id_ed25519.pub в директории “~/.ssh”) в текстовом редакторе. Скопируйте содержимое и вставьте его в Github.

Загрузка локальных коммитов онлайн

Последний шаг — это загрузить содержимое вашего локального проекта в Интернет.

На вашем локальном компьютере перейдите в папку Git и выполните команду:

git remote add origin [email protected]:ramcesred/my-project.git

Добавление нового удаленного источника

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

git branch -M main

Наконец, отправьте текущее состояние проекта в Интернет:

git push -u origin main

Отправка локального репозитория онлайн

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

Также читайте: Как установить Git и Git Bash в Windows

Часто задаваемые вопросы

Возможно ли получить изменения, которые другие люди внесли в мой онлайн-проект Git?

Да! Возможно скопировать изменения, которые другие люди внесли в ваш онлайн-репозиторий. Вы можете сделать это, выполнив команду pull из вашего удаленного источника.

Вы можете легко получить любые обновления, выполнив следующую команду: git pull origin main

Какие проблемы мне следует учитывать при использовании Git?

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

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

Возможно ли не включать файлы в дерево Git?

Да! Вы можете легко исключить файлы из коммита. Вы можете использовать файл “.gitignore”, чтобы сказать Git, что вы не хотите включать определенные файлы.

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

Изображение предоставлено: Unsplash