В процессе разработки программных продуктов Вы постоянно будете добавлять что-то новое и менять что-то старое в своих проектах.
А если Вы вдруг ошибетесь и Вам нужно вернутся в прошлое? Здесь Вам поможет git
. Он
позволит вернуть Вам часть кода к старому виду.
Но git
- это нечто большее, чем просто машина времени для вашего кода. Он позволяет Вам
совместно работать с другими людьми над одним и тем же кодом.
Кроме того Вы сможете вести параллельную разработку нескольких версий благодаря ветвям.
git
уже по-умолчанию встроен в операционную систему macOS.
В Linux Вы можете использовать команду apt-get install git
.
А теперь перейдём в терминале (его для этого даже нужно открыть) на рабочий стол и создадим папку git-project
:
cd Desktop
mkdir git-project
cd git-project
Добавим файл в разметке markdown (о ней Мы расскажем Вам позднее) для описания
проекта: touch README.md
.
На серверах без графической оболочки Вам часто придётся пользоваться этим редакторам для внесения изменений.
Откроем созданный файл с его помощью: vim README.md
Чтобы войти в режим редактирования нажмите английскую клавишу i.
Введите наверху файла ### Мой первый git-проект
Вы такая умничка :)
Теперь выйдите из режима редактирования, нажав клавишу esc.
Теперь надо набрать двоеточие :.
Так vim
переведет Вас в режим ввода команды. Введите wq
для выхода с сохранением
файла.
Вы нашли выход из vim
. Наши поздравления. Не многим удаётся покинуть vim
.
Напишите команду git status
и Вы увидите сообщение о том, что здесь нет git-репозитория:
Чтобы дать git
отслеживать эту директорию, введите git init
. Если все прошло успешно, то Вы увидите сообщение. Повторите команду git status
, чтобы узнать, что теперь репозиторий существует.
Почему наш файл отображается красным? Потому что он мертв, Джим, не добавлен в отслеживание!
Добавим его командой: git add README.md
Теперь сделаем наш первый коммит в систему отслеживания версий:
git commit -m "Наше сообщение"
Можете написать вместо этого сообщения любое другое.
Теперь зайдите в файл README.md
и добавьте еще один заголовок ##### Я есть новый заголовок
чуть ниже данного:
Если Вы наберете git status
вновь, то увидите, что дело дрянь есть изменения в файлах и было бы круто их закомиттить.
Чтобы отправить файлы в коммит, Вам нужно добавить их командой git add README.md
, так как в нем есть изменения.
Теперь введите git commit -m "Ваше вдохновляющее сообщение"
и все изменения будут внесены в систему контроля версий.
Введите git log
и Вы увидите историю Ваших обновлений в git
:
Предположим, что всё, что Вы так упорно программировали сегодня, оказалось фигней.
Нам нужно откатиться назад. Для этого есть команда git checkout [коммит]
, где вместо
коммита подставьте первые 7 символов версии из истории Выше:
А теперь создадим нашу первую ветвь: git checkout -b myFirstBranch
Вы на пути к смыслу жизни программиста:
Продолжаем:
main.js
-> touch main.js
git status
git add main.js
git commit -m "Добавил немного скриптов"
git
-> git log
git checkout [7 символов коммита]
README.md
на Ваше усмотрениеtouch 1.js 2.html 3.php
git add -A
git commit -m "Я сделал веб-сайт"
GitHub
- это система, использующая git для контроля версий с возможностью доступа из любой точки нашего бренного мира.
Зайдите на сайт GitHub
Если Вы ещё никогда здесь не были, то зарегистрируйтесь.
После регистрации нам нужно создать себе SSH
-ключи для доступа по зашифрованному соединению.
Для этого в нашем старом добром терминале введите команду:
ssh-keygen -t rsa -b 4096 -C "ваша электронная почта, используемая в GitHub"
ssh - agent - eval "$(ssh-agent -s)"
~/.ssh/config
для автоматической подгрузки ключей следующим образом:
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa
ssh-add -K ~/.ssh/id_rsa
pbcopy < ~/.ssh/id_rsa.pub
Settings
SSH and GPG keys
и перейдите в негоNew SSH key
или Add SSH key
Title
введите исчерпывающее описание для ключейKey
вставьте Ваш ключAdd SSH key