Sign in

Зарегистрируйтесь, чтобы стать полноправным участником сообщества Masterpro.ws.

Ruby on rails и Git

Продолжаем публикацию материалов, посвященных Ruby on Rails. И в краткой этой статье коснемся основ работы с Git... правда, для Git имеет очень немного значения, Ruby on Rails мы с вами взялись изучать или иной фреймворк; но впереди множество интересных опытов, как же нам с вами без Git-a?

Git

Хм, нуте-с... прежде чем использовать Git, необходимо как минимум установить его в систему, логично? В Fedora я сделал это очень просто:

 

$ sudo dnf install git

 

 

Переходим в каталог проекта Ruby on Rails и, например, инициализируем для пробы пустой репозиторий:

 

$ git init
Инициализирован пустой репозиторий Git в /home/aleksej/rails/demo/.git/

 

Добавим свои имя и email, затем проверим конфигурацию:

 

$ git config --global --add user.name "rishard"
$ git config --global --add user.email Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.
$ git config --global --list

 

Замечательно, а теперь снова инициализируем репозиторий:

 

$ git init
Реинициализация существующего репозиторий Git в /home/aleksej/rails/demo/.git/

 

Добавляем и коммитим:

 

$ git add .
$ git commit -m "WOW"

 

Снова проверяем:

 

$ git status
На ветке master
нечего коммитить, нет изменений в рабочем каталоге

 

Ну что же, нет изменений значит нет. А если бы были? Давайте их создадим; изменим любой файл, созданный нами в ходе работы над погодным информером, написанным в Ruby on Rails на основе API WorldWeatherOnline; предположим, удалим API KEY из файла informer_controller.rb, или сделаем еще что-нибудь общественно-неполезное:

 

$ git status
На ветке master
Изменения, которые не в индексе для коммита:
(используйте «git add <файл>…», чтобы добавить файл в индекс)
(используйте «git checkout -- <файл>…», чтобы отменить изменения
в рабочем каталоге)
изменено: app/controllers/informer_controller.rb
нет изменений добавленных для коммита
(используйте «git add» и/или «git commit -a»)

 

и теперь снова комментим изменения. Поскольку новых файлов не добавлялось, мы вполне вправе объединить команды git add и git commit:

 

$ git commit -a -m 'Validation!'
[master 094fb45] Validation!
1 file changed, 1 insertion(+), 1 deletion(-)

 

Итак, имеем два коммита:

 

$ git log
commit 094fb45b5c07a19b9f51e5e6d2e0957a950db995
Author: rishard <Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.>
Date: Thu Nov 3 11:57:36 2016 +0300
Validation!
commit fdb59a3d7e44da808814c2ab19be4053e19e5701
Author: rishard <Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.>
Date: Thu Nov 3 11:51:54 2016 +0300
WOW

 

И для того, чтобы откатить внесенные изменения, достаточно теперь всего одной команды:

 

$ git reset --hard fdb59a3d7e44da808814c2ab19be4053e19e5701
HEAD сейчас на fdb59a3 WOW

 

или:

 

git checkout .

 

Открываем в браузере страничку localhost:3000/informer/spb и убеждаемся, что все отлично работает. К слову, а вот для того, чтобы в проекте Ruby on Rails откатить миграцию - Git нам с вами уже не понадобится:

 

rake db:rollback

 

Оставить комментарий

Добавьте ваш комментарий