Материал: lab02

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

git config user.email 'почта'

«На машине Боба» добавим в программу печать произведения чисел Выберем файл, изменение которого должно войти в коммит

git add main.cpp

Сделаем коммит

git commit -m "Вывод произведения" Просмотрим последний коммит

git show HEAD

Отправим коммит на GitHub git push

«На машине Алисы» выполним загрузку изменений git fetch

Просмотрим историю всех веток git log --oneline --decorate --all --graph

Продвинем ветку master к скачанной версии git pull --ff-only

«От имени Алисы» добавим в программу печать деления Выберем файл, изменение которого должно войти в коммит git add main.cpp

Сделаем коммит

git commit -m "Вывод деления"

Просмотрим последний коммит git show HEAD

Отправим коммит на GitHub git push

«На машине Боба» выполним загрузку изменений git fetch

Просмотрим историю всех веток git log --oneline --decorate --all --graph

Продвинем ветку master к скачанной версии git pull --ff-only

«На машине Алисы» дополним программу печатью максимума Выберем файл, изменение которого должно войти в коммит git add main.cpp

Сделаем коммит

git commit -m "Вывод максимума" Просмотрим последний коммит git show HEAD

Отправим коммит на GitHub git push

«На машине Боба» дополним программу печатью минимума Выберем файл, изменение которого должно войти в коммит

6

git add main.cpp

Сделаем коммит

git commit -m "Вывод минимума"

Просмотрим последний коммит git show HEAD

Попытаемся отправить коммит на GitHub git push

Удаленный репозитарий не принимает изменений: коммит Боба основан не на последнем существующем коммите «На машине Боба» выполним загрузку изменений

git fetch

Просмотрим историю всех веток git log --oneline --decorate --all –graph

Вывод:

* 726a721 (HEAD, master) Вывод минимума

| * 7c1af90 (origin/master, origin/HEAD) Вывод максимума |/

*f8a5119 Вывод деления

*1d2818a Вывод произведения

*9474702 git

*7a9e6b4 Вывод суммы и разности

*2d54d98 Вывод суммы

*2b37afa Ввод двух чисел

*6fdd2bc build

*c50575d code: заготовка программы

Переместим коммит Боба поверх коммита Алисы, то есть поверх origin/master git rebase origin/master

«На машине Боба» в CodeBlocks место конфликта будет отмечено прямо в коде:

<<<<<<< HEAD

if (a > b) cout << "max = " << a << '\n'; else cout << "max = " << b << '\n';

=======

if (a > b) cout << "min = " << b << '\n'; else cout << "min = " << a << '\n';

>>>>>>> Вывод минимума

Удалим метки конфликта: <<<< ..., ... >>>> и =====

Добавим файл в индекс git add main.cpp

Продолжим прерванную операцию rebase

7

git rebase –continue

Вид хранилища:

#include <iostream>

using namespace std;

int main()

{

cout << "Enter A and B: "; int a, b;

cin >> a >> b;

cout << "A + B = " << a + b << '\n'

<<"A - B = " << a - b << '\n'

<<"A * B = " << a * b << '\n'

<<"A / B = " << a / b << '\n';

if (a > b) cout << "max = " << a << '\n'; else cout << "max = " << b << '\n';

if (a > b) cout << "min = " << b << '\n'; else cout << "min = " << a << '\n';

}

Отправим изменения на GitHub git push

“На машине Алисы cоздадим ветку double git branch double

Переключимся на нее git checkout double

Заменим тип переменных a и b на double

Выберем файл, изменение которого должно войти в коммит git add main.cpp

Сделаем коммит

git commit -m "новый тип"

Переключимся на ветку master git checkout master

«На машинеAlice» выполним загрузку изменений git fetch

Продвинем ветку master к скачанной версии git pull --ff-only

Просмотрим историю всех веток git log --oneline --decorate --all –graph

8

Вывод:

* bc81c6e (double) новый тип

| * 868be19 (HEAD, origin/master, master) Вывод минимума |/

*7c1af90 Вывод максимума

*f8a5119 Вывод деления

*1d2818a Вывод произведения

*9474702 git

*7a9e6b4 Вывод суммы и разности

*2d54d98 Вывод суммы

*2b37afa Ввод двух чисел

*6fdd2bc build

*c50575d code: заготовка программы

Сольем ветку double в master git merge double

В результате слияния образуется специальный новый коммит (merge commit), к которому Git предлагает написать сообщение в редакторе Просмотрим историю всех веток

git log --oneline --decorate --all –graph

Вывод:

* bc81c6e (double) новый тип

| * 868be19 (HEAD, origin/master, master) Вывод минимума |/

*7c1af90 Вывод максимума

*f8a5119 Вывод деления

*1d2818a Вывод произведения

*9474702 git

*7a9e6b4 Вывод суммы и разности

*2d54d98 Вывод суммы

*2b37afa Ввод двух чисел

*6fdd2bc build

*c50575d code: заготовка программы

9