Система контроля версий Git. Командная работа в Git.

Тест на закрепление изученного материала в курсе "Система контроля версий Git" в третьем разделе "Командная работа в Git".

1. Чем различаются команды git checkout -b branch-name и git checkout branch-name?

Ничем, это одинаковые команды
Параметр -b указывает на необходимость создать ветку и уже потом в неё переключиться
Параметр -b указывает на необходимость проверить ветку на актуальность и уже потом в неё переключиться

2. В каком случае необходимо использовать команду git push -u origin branch-name, а в каком достаточно команды git push?

git push -u origin branch-name выполняется только в ветке master при первой синхронизации локального и удалённого репозиториев
git push -u origin branch-name выполняется при первой отправке локальной ветки в удалённый репозиторий
git push -u origin branch-name необходимо использовать, если вы хотите отправить на удалённый сервер конкретную ветку, имя которой указывается в качестве branch-name

Подсказка:
При создании ветки локально и необходимости её синхронизации с удалённым репозиторием нужно, находясь в этой ветке, выполнить команду git push -u origin branch-name, в качестве branch-name указав её имя в удалённом репозитории. Эта команда может быть использована для любых веток. Если ветка отправлена в удалённый репозиторий, то дальнейшая отправка локальных изменений может осуществляться с помощью команды git push без параметров.

3. Вы последовательно выполняете следующие действия в репозитории:

Комментарий:
Изменяете файл 1
Выполняете git stash
Изменяете файл 2
Выполняете git stash
Выполняете git stash pop
Изменения в каком файле будут возвращены из stash в рабочую директорию?

В файле 1
В файле 2
В обоих файлах
Никакие изменения не будут возвращены

Подсказка:
При многократном добавлении изменений в stash командой git stash их извлечение командой git stash pop происходит в обратном порядке.

4. Что произойдёт, если программист выполнит следующие команды?

Комментарий:
git checkout branch-1
git merge master

Ветка branch-1 будет влита в ветку master
Ветка master будет влита в ветку branch-1
Ветки синхронизируются друг с другом

5. При выполнении каких команд могут возникать локальные конфликты слияния?

git merge
git push
git pull
git stash pop

Подсказка:
Локальные конфликты слияния могут возникать при выполнении любых команд, если в результате в рабочей директории появятся файлы, изменения которых несовместимы с их текущими версиями. При выполнении команды git push изменений в рабочей директории не происходит, поэтому в результате её выполнения локальные конфликты возникнуть не могут.

6. Чем функционально отличается pull request от merge request?

Pull request не предполагает слияния веток в результате принятия
Merge request — это запрос на слияние по стратегии merge, а pull request — по стратегии rebase или squash
Ничем

Подсказка:
Pull request — термин, используемый в GitHub, а merge request — в GitLab. Оба термина обозначают одно и то же — запрос на принятие внесённых изменений и на их слияние с базовой веткой. Причём такое слияние, независимо от названия, может быть осуществлено с использованием разных стратегий.

7. В чём преимущества модели ветвления trunk-based перед Git Flow?

Она предполагает более быструю разработку
В ней все ветки, кроме master, «живут» недолго
Она проще для понимания и использования
В ней можно включать и отключать различные фичи, используя feature flags

Подсказка:
Все перечисленные преимущества делают модель ветвления trunk-based более практичной и широко используемой.


Как можно отблагодарить:

  • Оформить удобную для вас подписку на Boosty.to
  • Разово поддержать через DonationAlerts
10100login-checkСистема контроля версий Git. Командная работа в Git.

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