Если вы пользователь Linux, вы, вероятно, в какой-то момент столкнулись с Git, возможно при попытке загрузить новую программу или при изучении систем контроля версий, таких как CVS или Subversion. Git — это система контроля версий, созданная знаменитым Linus Torvalds из ядра Linux из-за неудовлетворенности существующими решениями. Главный упор в конструкции был сделан на скорость, а точнее на эффективность. Git устраняет многие недостатки предыдущих систем и делает все это за гораздо меньшее время. Если вы хотите изучить Git, это руководство для начинающих поможет вам начать работу.
Что делает Git
Допустим, вы работаете над созданием веб-сайта для клиента. Они заявляют, что они хотят, чтобы вы разрабатываете его, они просматривают и вносят исправления и т. Д. С каждым набором исправлений, вносимых заказчиком, сайт изменяется и расширяется. Позже покупатель может сказать: «Мне больше нравится, как он выглядел в сентябре прошлого года». При нормальных обстоятельствах у вас есть проблема. У вас может не быть всех файлов и данных того времени, а ваш код может быть настолько изменен, что возврат к исходному состоянию будет затруднен или невозможен.
Задача системы контроля версий — решить почти все проблемы, указанные в предыдущем абзаце. Вы можете отслеживать каждое изменение в вашем коде и файлах и в любой момент вернуться к прежнему состоянию.
Как работает Git
Каталог каждого проекта — это собственный репозиторий Git. Вы храните все свои файлы для этого проекта в этом каталоге и периодически указываете Git обновлять свою информацию текущим состоянием файлов. Этот процесс указания Git записать состояние — это файл commit. Каждый раз, когда вы фиксируете (что должно происходить часто), Git просматривает все файлы, которые ему предписано отслеживать, и сохраняет различия в этих файлах (не во всех новых файлах) в каталог «.git». Каждый commit становится новой точкой сохранения для развития вашего проекта.
При желании вы можете отправить свой локальный репозиторий git на внешний хост, такой как GitHub или свой собственный сервер Git . Это позволяет нескольким участникам проекта делать частые и быстрые commit в свое локальное repo, а затем объединять все эти локальные commit в одно обновление в онлайн-репозиторий.
Это одна из вещей, которые делают Git более быстрым в использовании, чем некоторые другие системы контроля версий (VCS): вы можете часто commit в свой локальный репозиторий, не тратя время и пропускную способность на загрузку на сервер для каждой из них.
Получение Git
Большинство дистрибутивов Linux поставляются с предустановленным Git. Если в вашей системе его нет, вы можете легко установить его из Центра программного обеспечения или диспетчера пакетов, так как он легко доступен в большинстве репозиториев
Вы можете установить его в терминале:
# Debian/Ubuntu
sudo apt install git-all
# Fedora
sudo dnf install git-all
Если вы используете другую платформу или иным образом не можете использовать такие репозитории, вы можете загрузить и вручную установить пакеты здесь.
Использование Git
Процесс создания локального репозитория git выполняется быстро и легко. Сначала создайте каталог, который вы собираетесь использовать для своего проекта, и откройте свой терминал в этом месте.
cd /my-git-directory
Запустите репозиторий Git с помощью команды:
git init
Это создаст каталог «.git» (скрытый от просмотра) для хранения информации вашего репозитория. Скорее всего, вы захотите начать добавлять файлы. Мы начнем с создания простого файла README, добавления его в список файлов репозитория для наблюдения, а затем фиксации нашего файла в репозитории.
#Insert some text into a new file
echo «TODO: Create documentation» > README.txt
#Now tell Git to keep track of this file’s changes
#This only needs to be done once per file (more
#on that in a moment)
git add README.txt
#And now save state to Git repository
git commit README.txt
Вы попадете на экран текстового редактора (какой именно текстовый редактор зависит от вашего дистрибутива и конфигурации), где вы должны ввести любые примечания об этом commit. Обычно это краткие сводки изменений, произошедших с момента последней фиксации. После сохранения и выхода из текстового редактора фиксация должна быть успешно завершена.
Если во время вышеуказанного Git выдает ошибку, говоря, что он не может вас распознать, вам придется сообщить ему, кто вы. Сделать это так же просто, ввести:
git config —global user.name «Your_Username»
git config —global user.email «your_email_address@mailserver.com»
По сути, мы создали снимок текущего состояния этого файла. Любые дальнейшие изменения (которые вы фиксируете) будут сохранены поверх этого.
Добавление и фиксация каждого файла по отдельности, как в примере выше, может оказаться утомительным. Чтобы исправить это, вы можете вместо этого добавить все файлы в текущий каталог с помощью
#Note the trailing «.» git add .
Вы можете зафиксировать сразу все известные измененные файлы с помощью
git commit -a
Вот некоторые другие удобные параметры команды git:
#Make a full clone of existing repository, such as from the website of a software project
git clone (URL, ie git://github.com/github/linux-2.6.git)
#Move/rename a file. This spares you from having to remove and re-add the file #if it had been moved by bash git mv (source) (destination)
#Delete a file and remove from Git repo git rm (target)
#See branches in this repository git branch
#Create a new branch of the Git tree git branch (new branch name, ie «experimental»)
#Switch from one branch to another git checkout (branch name, ie «experimental»)
#Merge branch (branch) into current tree git merge (branch)
Это, конечно, только начало того, на что способен Git. Освоив GIt, вы можете начать работу с Github и узнать, как добавлять снимки экрана и анимацию в запросы на вытягивание.