Giter VIP home page Giter VIP logo

gittest's Introduction

GitTest

Тест для слушателей лекции по Git

С чего начать:

Предлагаю 2 варианта:
Вариант 1) Вы регистрируетесь на GitHub, делаете fork этого репозитория. Клонируете репозиторй себе (свой fork, в этот репозиторий push не пройдет). Выполняете все задания. Как только все задания готовы, делаете pull request ветки master.
Как содать fork
https://rustycrate.ru/руководства/2016/03/07/contributing.html#forkaiem-proiekt

Тут можно подсмотреть, как начать работать с github используя TortoiseGit (в середине поста)
https://habrahabr.ru/post/125799/

Как создать pull request
https://rustycrate.ru/руководства/2016/03/07/contributing.html#sozdaiom-pull-request

Вариант 2) Создаете у себя на машине пустой Git репозиторий (В любой пустой директории в контекстном меню выбрать "Git Create repository here"). Выполняете все задания. Пропускаете шаги "Загрузить ветку ааа на сервер" и "Удалить ветку ааа на сервере". Как только все задания готовы, архивируете директорию и присылайте мне на e-mail.

Задание 01

  • Добавить в репозиторий файл пустой "MyFirstFile.txt". Зафиксировать изменения. Загрузить ветку "master" на сервер.

Задание 02

  • Создать ветку "develop" от ветки "master".
  • Создать ветку "feature1" от ветки "develop".
  • Создать ветку "feature2" от ветки "develop".
  • Загрузить ветку "develop" на сервер.

Задание 03

  • Переключится на ветку "feature1". Добавить строку "Hello" в файл "MyFirstFile.txt". Зафиксировать изменения.
  • Переключится на ветку "feature2". Добавить строки "H", "e", "l", "l", "o" в файл "MyFirstFile.txt". Зафиксировать изменения.

Задание 04

  • Создать ветку "hotfix" от ветки "master" и переключится на нее. Создать файл "HotFixFile.txt" со строкой "HotFix". Зафиксировать изменения.
  • Добавить в файл "HotFixFile.txt" новую строку "HotFix2". Зафиксировать изменения. Загружать ветку "hotfix" на сервер не обязательно.

Задание 05

  • Сделать Merge ветки "master" с веткой "hotfix". Подсказка: необходимо переключиться на ветку "master" а ветку "hotfix" выбрать для слияния.
  • Загрузить ветку "master" на сервер

Задание 06

  • Сделать Rebase ветки "develop" на ветку "master". Загрузить ветку "develop" на сервер.
  • Сделать Rebase ветки "feature1" на ветку "develop".
  • Сделать Rebase ветки "feature2" на ветку "develop".

Задание 07

  • Переключиться на ветку "feature1". Добавить файл Feature1.txt в репозиторий. Зафиксировать изменения.
  • Переключиться на ветку "feature2". Добавить файл Feature2.txt в репозиторий. Зафиксировать изменения.

Задание 08

  • Разработка функции "feature1" окончена. Необходимо сделать Merge изменений из ветки "feature1" в ветку "develop". Подсказка: необходимо переключиться на ветку "develop" а ветку "feature1" выбрать для слияния. Замечание: должено пройти "fast-forward" слияние.
  • Загрузить ветку "develop" на сервер.

Задание 09

  • Сделать перемещение (rebase) ветки "feature2" на ветку "develop". Решить возникший конфликт, предпочитая изменения ветки feature1

Задание 10

  • Удалить ветку "hotfix" локально.
  • Удалить ветку "hotfix" на сервере, если она была там создана.

Задание 11

  • Создать ветку "release01" от ветки "develop". В ней будет готовится релиз. Переключится на ветку "release01". Создать файл "ReleaseFix.txt" и поместить его в репозиторий. Зафиксировать изменения. Загрузить ветку "release01" на сервер.

Задание 12

  • Предположим, что из ветки "release01" был произведен релиз.
  • Сделать Merge ветки "master" с веткой "release01". Подсказка: необходимо переключиться на ветку "master" а ветку "release01" выбрать для слияния.
  • Поставить Tag "1.0" от ветки "master"
  • Загрузить ветки "master", "feature2" на сервер.
  • Удалить ветку "feature1" локально.

Задание 13

  • Предположим, что последние изменение в ветке "feature2" не нужны. Необходимо откатить их назад сделав revert commit. Подсказка: необходимо переключиться на ветку "feature2", в истории выделить коммит, котоый нужно откатить, в контекстном меню выбрать "Revert change by this commit", Зафиксировать изменения.
  • Создать ветку "feature3" из ветки "develop". Добавить в репозиторий 3 файла: "Feature3.txt", "Feature3.1.txt" и "Feature3.2.txt". Зафиксировать изменения. Загрузить ветку "feature3" на сервер.

Задание 14

  • Создать ветку "feature4" от ветки "develop" и переключится на нее. Добавить в репозиторий папку "f4" с четырьмя файлами внутри: "Feature1.txt", "HotFix.txt", "GettingStarted.txt", "ReleaseFix.txt". Зафиксировать изменения.

Задание 15

  • Разработка функции "feature3" окончена. Необходимо сделать слияние (merge) изменений из ветки "feature3" в ветку "develop". (аналогично заданию 08)
  • Загрузить ветку "develop" на сервер.
  • Удалить ветку "feature3" локально и на сервере.

Задание 16

  • Создать ветку "hotfix2" от ветки "master" и переключится на нее. Добавить в репозиторий папку "hotfix" с файлом "HotFix2.txt" внутри. Зафиксировать изменения.
  • Разработка функции "feature2" окончена. Необходимо сделать слияние (merge) изменений из ветки "feature2" в ветку "develop" с опцией "No Fast Forward". Подсказка: необходимо переключиться на ветку "develop" и слить с веткой "feature2". В диалоге слияния указать опцию "No Fast Forward". Замечание: В истории должна появится петля.
  • Загрузить ветку "develop" на сервер.
  • Удалить ветку "feature2" локально и на сервере.

Задание 17

  • Сделать Merge ветки "master" с веткой "hotfix2" с опцией "No Fast Forward". Подсказка: необходимо переключиться на ветку "master" а ветку "hotfix2" выбрать для слияния. В диалоге слияния указать опцию "No Fast Forward". Замечание: В истории должна появится петля.
  • Поставить Tag "1.1" от ветки "master"
  • Загрузить ветку "master" на сервер.

Задание 18

  • Разработка функции "feature4" окончена. Необходимо сделать слияние (merge) изменений из ветки "feature4" в ветку "develop". (аналогично заданию 08)
  • Загрузить ветку "develop" на сервер.
  • Удалить ветку "feature4".
  • Создать ветку "release-candidate2" из ветки "develop". Загрузить ветку "release-candidate2" на сервер

Задание 19

  • Удалить ветку "hotfix2".
  • Сделать Merge ветки "master" с веткой "release-candidate2". Подсказка: необходимо переключиться на ветку "master" а ветку "release-candidate2" выбрать для слияния. Замечание: В истории должна появится петля.
  • Поставить Tag "2.0" от ветки "master"
  • Загрузить ветку "master" на сервер.
  • Удалить ветку "release-candidate2" локально и на сервере.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.