Средство для создания и удобного управления сайтом, имеющее расширенные
по сравнению с CMS (Content Management System) характеристики.
Более 5 лет успешного использования.
Подробнее
К списку статей
Это краткое руководство пригодится вам, если вы решили начать работать с Git, и хотите понять самые азы работы с ним.
Git - это система управления версиями. Что это такое и зачем, можете найти в инете, но если вы сюда заглянули, значит, скорее всего знаете, что это и зачем в общих чертах нужно.
Итак, у нас есть следующие составляющие:
Git, т.е. система управления версиями, фактически формат.
репозитории вашего программного кода, т.е. сами файлы ваших проектов и сведения о них и их изменениях.
сайты-хранилища репозиториев (например, GitHub и BitBucket), работающие в формате Git.
программы-клиенты, которые управляют локальным и удаленным репозиториями.
Репозитории хранятся как локально на вашем компьютере, так и на сайтах-хранилищах, откуда могут получить их ваши коллеги.
Ваш проект как и обычно находится в папке на вашем компьютере, где вы с ним работаете. Кроме него, в этой папке размещается папка .git, в которой хранятся данные о проекте и его изменениях.
Эта папка вместе с начальными данными создается программой-клиентом в начале работы над проектом. Эта совокупность и есть репозиторий, локальный.
И есть ещё удаленный, на сайте-хранилище, доступный для других разработчиков и пользователей. Эти репозитории синхронизируются между собой.
Для начала работы нужно зарегистрироваться на сайте-хранилище, скачать программу-клиент, создать репозиторий, закачать файлы репозитория в хранилище.
А теперь рассмотрим это детально. Рассматривать будем GitHub, а в BitBucket всё аналогично.
В первую очередь регистрируемся на сайте: GitHub или BitBucket.
Устанавливаем git-клиент отсюда.
При установке все опции оставляем как есть.
Если предполагается работа через SSH, то нужно скачать putty, запустить puttygen и создать ключи, далее в настройках на сайте добавить публичный ключ. Но можно работать и без SSH.
Теперь уже можно работать через командную строку или через штатный GUI клиента. А можно поставить сторонний GUI: Tortoise, SmartGit или SourceTree.
Создаём репозиторий на сайте, пока пустой. При создании в BitBucket указываем тип Git.
Теперь нам нужно забрать данные репозитория с сайта, т.е. создать его локальную копию. Это можно сделать, например, через контекстное меню "Git clone..." в Tortoise.
Мы создаем папку, где будет находиться репозиторий (т.е. рабочие файлы проекта и сведения о нём), и вызываем контекстное меню на этой папке.
Разумеется это можно сделать и через командную строку.
В выбранную папку будут скопированы служебные файлы репозитория, в папку .git.
Теперь у нас есть два репозитория - локальный и удаленный. Оба пока пустые, но готовые к работе.
Самое время создать (или скопировать) в локальном репозитории файлы проекта, внести какие-либо изменения кода.
После внесения изменений, их нужно подтвердить, т.е. внести о них сведения, что называется сделать "коммит". Коммит делается в локальном репозитории.
Опять же это можно сделать через GUI или через командную строку:
git add .git commit -m
Заполнение поля Message обязательно.
На данном этапе мы можем продолжать работу и делать дальнейшие локальные коммиты, или синхронизировать локальный и удаленный репозитории.
Для синхронизации локального и удаленного репозиториев в GUI опция "Push".
Командная строка: git push
После этой операции на сайте-хранилищие появится точная копия файлов вашего локального проекта.
Если нам нужно сделать обратную операцию, т.е. забрать копию из удаленного репозитория в локальный, делаем "Pull".
Командная строка: git pull
Это же можно (а иногда, при командной работе, нужно) делать перед началом работы с файлами.
И в заключении несколько замечаний.
Файл README для GitHub особый: его содержимое выводится как описание проекта.
Можно создавать так называемые релизы (это на GitHub, а на BitBucket это делается добавлением тегов к коммиту). Для релиза указывается тег, например, с номером версии.
Релизы необходимы для совместной работы с packagist.org, чтобы версии воспринимались как стабильные, а не как dev.
Удаление тега через командную строку:
git push origin :refs/tags/tag_name
Если нужно удалить последние коммиты до какого-либо:
git reset --hard
git push --force
Так можно удалить все коммиты, кроме самого первого.
На BitBucket это не сработает, пока один из коммитов имеет тег: активный коммит меняется, но в списке остаются все. Если же тег удалить, то все удаляются.
Мануал по командам Git.
Итак, теперь вы можете начать работать с Git; понимаете, из чего состоит система; можете создавать свои репозитории, загружать репозитории других разработчиков и
принимать участие в совместной работе над проектами, по крайней мере на базовом уровне.