Здравствуй, уважаемый друг!

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

Спасибо за понимание.

GIT: первое знакомство с системой контроля версий

Автор: в категории Создание сайтов 0 комментариев

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

Git в WEB-разработке - первое знакомство

Данная статья является первой частью серии записок WEB разработчика использующего GIT в своей практике. В данной серии мы постараемся разобраться с системой GIT с нуля.

Что такое GIT?

Для начала необходимо осознать и запомнить, что распределенная система контроля версий GIT — это система, которая помогает вам следить за изменениями в вашем проекте, а точнее в файлах вашего проекта. Файлы хранятся в репозитории (repository) — место, где хранятся и поддерживаются какие-либо данные, или вне репозитория, но об этом позже.

Сперва может показаться что данная система чем-то напоминает облачное хранилище (DropBox, Google Drive), но структура GIT немного сложнее и ключевой момент — GIT не хранит файлы — он хранит изменения, которые применяются/были применены к файлам. Если упростить понятие, то GIT — это всего лишь лог (журнал, log) изменений ваших файлов.

Преимущества GIT

Данная система удобна для разработчиков по следующим причинам:

  1. откат к определенной точке в разработке;
  2. логирование (ведение журнала) изменений в проекте;
  3. быстрое и удобное обновление файлов на сервере (сравнивал на личном опыте, это удобней FTP загрузки);
  4. возможность командной разработки.

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

Как работает GIT?

Система контроля версий GIT, как я уже и описал выше, напоминает некий лог (журнал) изменений ваших файлов, и как и в любой журнал или базу необходимо вносить записи. Но давайте разберемся с самого начала.

Для начала работы с GIT необходимо создать репозиторий. Есть несколько типов репозиториев: стандартные и пустые (bare). Основное отличие заключается в том, что в пустом репозитории не расположены сами файлы, а в его настройках может быть указана папка для развертывания (деплой, deploy, применения изменений в существующие файлы), но об этом также расскажу дальше.

Пример git Init

Итак, создайте папку где вы будете хранить файлы, работать — это и будет нашим первым тестовым репозиторием. После чего перейдите в данную папку или кликните по ней правой кнопкой мыши и запустите консоль GIT (Git Bush). Теперь создадим репозиторий внутри данного каталога, выполнив команду «git init«.

UPD: Поскольку это ваш первый GIT-репозиторий, вам также необходимо будет настроить («представиться» указав ваши имя и Email) GIT, т.к. иначе GIT не даст вам сделать commit. Сделать это очень просто — вам достаточно ввести две следующие команды:

git config --global user.name "Your Name"
git config --global user.email "your_email@domain.com"

А также внесем следующие параметры для Windows:

git config --global core.autocrlf true
git config --global core.safecrlf true

И для Linux:

git config --global core.autocrlf input
git config --global core.safecrlf true

Это глобальные настройки GIT, которые будут использоваться для всех репозиториев. Обратите внимание на приставку —global — она означает что данная настройка является глобальной и будет записана в файл конфигурации, расположенном в C:/Users/YOUR_USER/.gitconfig. В каждом отдельном репозитории вы можете также переназначить эти параметры просто введя команду: git config user.name «Your Name».

Для того чтобы посмотреть файлы конфигурации и другие настройки вашего репозитория — зайдите в папку в которой расположен ваш репозиторий, потом в папку .git и откройте файл config. Все файлы (config и .gitconfig) можно открывать обычным Notepad++ или любым другим текстовым редактором.

Если у вас нет папки .git (а точнее ее просто не видно) в папке с репозиторием и вы пользуетесь обычным проводником — перейдите во вкладку «Вид» — «Параметры» — вкладка «Вид» — и список «Дополнительные параметры» прокрутите до низа и установите значение «Показать скрытые файлы, папки и диски».

Если не видно папки .git отобразите скрытые папки и файлы в настройках файл-менеджера

Теперь вернемся к командной строке GIT (GIT Bush) и запомним некоторые основные комманды GIT:

  1. git add — добавляет файлы в репозиторий, таким образом мы указываем GITу, что ему необходимо отслеживать изменения в данных файлах или добавить текущие изменения в указанном файле в коммит;
  2. git status — отображает статус вашего репозитория;
  3. git commit — делает «запись» (с англ commit — фиксировать).

Пример git add

Теперь поместите файлы в ваш репозиторий и проверьте статус вышеупомянутой командой. Система должна вам сообщить что появились файлы, ожидающие к добавлению в GIT. Выполните команду «git add .» чтобы добавить все файлы в папке. Чтобы добавить каждый файл отдельно, необходимо прописывать путь к каждому файлу отдельно.

Пример git commit

Теперь, когда файлы добавлены мы можем сделать первый коммит и зафиксировать состояние репозитория. Для этого можно воспользоваться командой «commit -m «Your tip here about what you have done» «. Если не указывать параметр m, то у вас откроется окно с текстом коммита (пометка, заметка) — вы можете набрать текст в нем и используя комбинацию :wq (w = write, q = quit) выйти из редактора.

Пример git status

Теперь можете попробовать изменить файл и добавить еще один и ввести статус, и вы увидите что система отобразит информацию что были добавлены новые файлы и был изменен ваш текущий файл. Теперь вы можете разными коммитами добавить файл и сохранить изменения в первом файле. Для этого выполните команду «git add index.php» для добавления изменений из первого файла и сделайте коммит, а потом добавьте второй файл «git add README.md» и сделайте еще один коммит.

Пример git add и git commit

 

UPD: для проверки истории вашего репозитория вы можете воспользоваться командой git log. Для навигации используйте клавиши стрелка влево/стрелка вправо. Однако она не очень удобна в использовании в таком формате.

Пример результата команды git log

Поэтому опытные разработчики используют данную команду с дополнительными параметрами, где определяют формат лога. Команда выглядит следующим образом: git log —pretty=format:»%h %ad | %s%d [%an]» —graph —date=short. Что позволяет увидеть историю всего репозитория, как показано на следующем скриншоте:

Удобный вид истории в GIT

Однако использовать такую команду постоянно достаточно сложно ввиду ее длинны. Поэтому мы перейдем к следующей возможности системы GIT — Алиасы (сокращение команд). Они помогают вам задать, какие команды будут выполнены при введении определенных «ключевых слов», если сказать еще проще — автозамена. Теперь мы создадим алиас hist для команды вывода удобного лога путем выполнения команды: git config —global alias.hist «log —pretty=format:’%h %ad | %s%d [%an]’ —graph —date=short».

Теперь при вводе в любом репозитории команды git hist мы сможем увидеть подобного вида историю операций над нашим проектом. Также зайдите в папку .git после всех проделанных операций и посмотрите на файл config, в нем вы увидите что параметры конфигурации делятся на группы (alias, core).

Таки образом вы уже научились работать со стандартными репозиториями в GIT и можете начинать пользоваться системой контроля версий, но пока без функции распределения. В следующих статьях мы поговорим об удаленных репозиториях, ветках, и хуках (hook).

comments powered by HyperComments

Не забудь подписаться на группы в социальных сетях, чтобы всегда быть вкурсе последних событий!

Вверх!

Меню блога

Категории блога

Облако тегов