- Создаю удаленный репозиторий
- Создаю локальный репозиторий
- Создаю файл
touch hello_world.cpp
Реализую программу:#include <iostream> using namespace std; int main() { cout << "Hello, World" << endl; return 0; } - Добавляю этот файл в локальную копию репозитория:
git add h* - Закомичу изменения:
git commit -m "added hello_world.cpp" - Отредактирую файл hello_world.cpp:
#include <iostream> using namespace std; int main() { string name; cout << "Enter your name"; cin << name; cout << "Hello World from " << name << endl; return 0; } - Закоммичу новую версию программы:
git commit -am "added name" - Запушу изменения в удалённый репозиторий:
git push -u origin master
9)Проверю, что история коммитов доступна в удалённом репозитории
- В локальной копии репозитория создам ветку patch1 и перейду в неё:
git checkout -b patch1 - Отредактирую файл hello_world.cpp:
#include <iostream> int main() { string name; cout << "Enter your name"; cin << name; cout << "Hello World from " << name << endl; return 0; } - Закоммичу изменения:
$ git commit -am "removed using namespace std line"
Запишу изменения в удаленный репозиторий:
$ git push -u origin HEAD - Проверю, что ветка доступна в удаленном репозитории
- Создам PR patch1 -> master
- В локальном репозитории, находясь в ветке patch1, отредактирую файл hello_world.cpp:
#include <iostream> using namespace std; int main() { string name; cout << "Enter your name"; cin << name; cout << "Hello World from " << name << endl; return 0; } // комментарий:) - Закомичу изменения:
$ git commit -am "added comment"
Запишу изменения в удаленный репозиторий:
$ git push -u origin HEAD - Проверю, что новые изменения есть в созданном на шаге 5 pull-request
- Выполню в удаленном репозитории слияние PR patch1 -> master и удалю ветку patch1 в удаленном репозитории
- Выполню pull в локальном репозитории:
$ git pull - Посмотрю историю в локальной версиит ветки:
$ git log --oneline --graph --decorate --all - Удалю локальную ветку patch1:
$ git checkout master
$ git pull
$ git branch -d patch1
- Создам новую локальную ветку patch2
- Скачаю пакет clang-format:
sudo apt install clang-format
Изменю code style:
clang-format -style=Mozilla /home/etosneks/lab02/hello_world.cpp - Закомичу изменения:
$ git commit -am "changed code style"
Запишу изменения в удаленный репозиторий:
$ git push -u origin HEAD Создам PR patch2 -> master - В удаленном репозитории в ветке master изменю комментарий:
//комментарий:) -> //комментарий!!!
- Проверю, что в pull-request появились конфликты
- $ git pull
$ git rebase master - Сделаю force push в ветку patch2:
$ git push origin patch2 --force - Проверю, что в PR пропали конфликты
- Вмержу PR patch2 -> master