"Лучше поздно, чем никогда!" Воскликнул я, когда наконец-то дошёл до попытки понять git. Все попытки какой-либо разработки ранее, велись исключительно в блокнотике на компе, а из IDE у меня есть только sublime-text с парой плагинов
В связи с тем, что я в сотый раз повторяю, что отдаю предпочтение только хардкору, никаких удобных зумерских поебот тут не будет! Только консоль, только команды!
Погнали!
Сперва установим сам git себе на комп
sudo emerge -av dev-vcs/git
Далее, для идентификации и понимания того, кто разрабатывает, скажем git’у кто мы
git config --global user.name "твой_юзернейм" git config --global user.email "твоя@почта.ком"
На сегодняшний день существует куча всяких проектов по содержанию репозиториев, но я буду использовать старый-добрый github
С регистрацией аккаунта + созданием репозитория у вас не должно возникнуть проблем, поэтому этот процесс мы опустим. Далее, предварительно обдумав наш будущий проект, мы создаём у себя на компе папочку с проектом. Пусть это будет CMS на PHP
mkdir ~/cms-in-php
Проваливаемся в неё
cd ~/cms-in-php
Теперь нам необходимо скопировать репозиторий себе на комп. Предварительно создадим ssh-ключ
ssh-keygen -t ed25519 -C "твоя@почта.ком"
Никаких парольных фраз вводить не нужно, а просто протыкиваем Enter, пока на экране не появится что-то типа
The key's randomart image is: +--[ED25519 256]--+ | .= | | . * | | . o E = * | | + = + & * | | + . S * B * | | + O + * o o | | = * * o . | | . + . o . | | . o. | +----[SHA256]-----+
Выведем на экран получившиеся кракозябры
cat ~/.ssh/id_ed25519.pub
и полностью скопируем содержимое
В интерфейсе github’а идём на вкладку Setting, в левом меню Deploy keys, жмём Add deploy key. В поле title вводим описание ключа, а в поле Key содержимое, которое скопировали на предыдущем шаге. Ставим чек-бокс Allow write access ну и жмакаем Add key
Идём в наш репозиторий. Жмём на Code, переходим на вкладку SSH, копируем строку git@github.com:никнейм/имя_репозитория.git
Далее идём в наш терминал и командуем
git clone git@github.com:никнейм/имя_репозитория.git
Ура…! Наш репозиторий склонирован и теперь можно вести разработку локально
Далее у нас уходит немного времени на генерацию PHP-говнокода, который мы яростно нащёлкали на клавиатуре. Решаем это всё сохранить. Сперва посмотрим что там у нас не сохранено
git status
К примеру мы создали папку includes, в которую поместили header.php и в корне, в файле index.php внесли изменения. Коммитить всё разом, будет считаться дурным тоном и в будущем может показаться неудобным, потому как на всех файлах/папках будет стоять одно сообщение с указанием того, что сделали. Поэтому сперва добавим includes
git add includes
и закоммитим что мы сделали
git commit -m "Подключил папку includes с header'ом"
затем добавим файл index.php и отобразим изменения
git add index.php git commit -m "Внёс изменения (желательно перечислить какие) в index.php"
и запушим в репозиторий хранилища git'a
git commit
Отлично! Теперь у нас всё красиво!
Основные команды, которые потребуются:
git clone строка - клонирование репозитория себе на комп
git add файл - добавить изменение
git commit -m "описание изменений" - добавляем комментарий
git push - отправить все наработки в хранилище
git status - посмотреть в каком состоянии локальный репозиторий
Ещё больше команд можно посмотреть по help'y
git --help