diff --git a/README.md b/README.md index 64ef33813a..031e82fdcb 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Домашнее задание к занятию "`Название занятия`" - `Фамилия и имя студента` +# Домашнее задание к занятию "Git" - Сергеев Алексей ### Инструкция по выполнению домашнего задания @@ -24,94 +24,84 @@ ### Задание 1 -`Приведите ответ в свободной форме........` +**Что нужно сделать:** -1. `Заполните здесь этапы выполнения, если требуется ....` -2. `Заполните здесь этапы выполнения, если требуется ....` -3. `Заполните здесь этапы выполнения, если требуется ....` -4. `Заполните здесь этапы выполнения, если требуется ....` -5. `Заполните здесь этапы выполнения, если требуется ....` -6. +1. Зарегистрируйте аккаунт на [GitHub](https://github.com/). +1. Создайте **новый отдельный публичный репозиторий**. Обязательно поставьте галочку в поле «Initialize this repository with a README». +2. Склонируйте репозиторий, используя https протокол `git clone ...`. +3. Перейдите в каталог с клоном репозитория. +1. Произведите первоначальную настройку Git, указав своё настоящее имя и email: `git config --global user.name` и `git config --global user.email johndoe@example.com`. +1. Выполните команду `git status` и запомните результат. +1. Отредактируйте файл README.md любым удобным способом, переведя файл в состояние Modified. +1. Ещё раз выполните `git status` и продолжайте проверять вывод этой команды после каждого следующего шага. +1. Посмотрите изменения в файле README.md, выполнив команды `git diff` и `git diff --staged`. +1. Переведите файл в состояние staged или, как говорят, добавьте файл в коммит, командой `git add README.md`. +1. Ещё раз выполните команды `git diff` и `git diff --staged`. +1. Теперь можно сделать коммит `git commit -m 'First commit'`. +1. Сделайте `git push origin master`. -``` -Поле для вставки кода... -.... -.... -.... -.... -``` +В качестве ответа добавьте ссылку на этот коммит в ваш md-файл с решением. -`При необходимости прикрепитe сюда скриншоты -![Название скриншота 1](ссылка на скриншот 1)` +### Ответ 1 +[Ссылка на commit](https://github.com/DeFranS325/8-01-homework/commit/cdc8e66b01dd1fce3e9c9f8d05222dbc2c98fc38) --- ### Задание 2 -`Приведите ответ в свободной форме........` +**Что нужно сделать:** -1. `Заполните здесь этапы выполнения, если требуется ....` -2. `Заполните здесь этапы выполнения, если требуется ....` -3. `Заполните здесь этапы выполнения, если требуется ....` -4. `Заполните здесь этапы выполнения, если требуется ....` -5. `Заполните здесь этапы выполнения, если требуется ....` -6. +1. Создайте файл .gitignore (обратите внимание на точку в начале файла) и проверьте его статус сразу после создания. +1. Добавьте файл .gitignore в следующий коммит `git add...`. +1. Напишите правила в этом файле, чтобы игнорировать любые файлы `.pyc`, а также все файлы в директории `cache`. +1. Сделайте коммит и пуш. -``` -Поле для вставки кода... -.... -.... -.... -.... -``` +В качестве ответа добавьте ссылку на этот коммит в ваш md-файл с решением. -`При необходимости прикрепитe сюда скриншоты -![Название скриншота 2](ссылка на скриншот 2)` +### Ответ 2 +[Ссылка на commit](https://github.com/DeFranS325/8-01-homework/commit/e5e44336f22750af6982db5d9e57f810e68df6b1) --- ### Задание 3 -`Приведите ответ в свободной форме........` - -1. `Заполните здесь этапы выполнения, если требуется ....` -2. `Заполните здесь этапы выполнения, если требуется ....` -3. `Заполните здесь этапы выполнения, если требуется ....` -4. `Заполните здесь этапы выполнения, если требуется ....` -5. `Заполните здесь этапы выполнения, если требуется ....` -6. - -``` -Поле для вставки кода... -.... -.... -.... -.... -``` - -`При необходимости прикрепитe сюда скриншоты -![Название скриншота](ссылка на скриншот)` - -### Задание 4 - -`Приведите ответ в свободной форме........` - -1. `Заполните здесь этапы выполнения, если требуется ....` -2. `Заполните здесь этапы выполнения, если требуется ....` -3. `Заполните здесь этапы выполнения, если требуется ....` -4. `Заполните здесь этапы выполнения, если требуется ....` -5. `Заполните здесь этапы выполнения, если требуется ....` -6. - -``` -Поле для вставки кода... -.... -.... -.... -.... -``` - -`При необходимости прикрепитe сюда скриншоты -![Название скриншота](ссылка на скриншот)` +**Что нужно сделать:** + +1. Создайте новую ветку dev и переключитесь на неё. +2. Создайте в ветке dev файл test.sh с произвольным содержимым. +3. Сделайте несколько коммитов и пушей в ветку dev, имитируя активную работу над файлом в процессе разработки. +4. Переключитесь на основную ветку. +5. Добавьте файл main.sh в основной ветке с произвольным содержимым, сделайте комит и пуш . Так имитируется продолжение общекомандной разработки в основной ветке во время разработки отдельного функционала в dev ветке. +6. Сделайте мердж dev ветки в основную с помощью git merge dev. Напишите осмысленное сообщение в появившееся окно комита. +7. Сделайте пуш в основной ветке. +8. Не удаляйте ветку dev. + +В качестве ответа прикрепите ссылку на граф коммитов https://github.com/ваш-логин/ваш-репозиторий/network в ваш md-файл с решением. + +### Ответ 3 + +[Граф](https://github.com/DeFranS325/8-01-homework/network) + +--- + +### Задание 4* + +Сэмулируем конфликт. Перед выполнением изучите [документацию](https://git-scm.com/book/ru/v2/%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B-Git-%D0%9F%D1%80%D0%BE%D0%B4%D0%B2%D0%B8%D0%BD%D1%83%D1%82%D0%BE%D0%B5-%D1%81%D0%BB%D0%B8%D1%8F%D0%BD%D0%B8%D0%B5). + +**Что нужно сделать:** + +1. Создайте ветку conflict и переключитесь на неё. +2. Внесите изменения в файл test.sh. +3. Сделайте коммит и пуш. +4. Переключитесь на основную ветку. +5. Измените ту же самую строчку в файле test.sh. +6. Сделайте коммит и пуш. +7. Сделайте мердж ветки conflict в основную ветку и решите конфликт так, чтобы в результате в файле оказался код из ветки conflict. + +В качестве ответа на задание прикрепите ссылку на граф коммитов https://github.com/ваш-логин/ваш-репозиторий/network в ваш md-файл с решением. + +### Ответ 4 + +[Ссылка на graph](https://github.com/DeFranS325/8-01-homework/network) \ No newline at end of file diff --git a/img/1-1.png b/img/1-1.png new file mode 100644 index 0000000000..624b3601d9 Binary files /dev/null and b/img/1-1.png differ diff --git a/img/1-2.png b/img/1-2.png new file mode 100644 index 0000000000..8aa4e1aed2 Binary files /dev/null and b/img/1-2.png differ