Git Flashcards

1
Q

Для чего используют системы контроля версий?

A
  • Отслеживание изменений и авторов
  • Откат изменений
  • Управление параллельными изменениями

Система контроля версий позволяет сохранять историю изменений в файлах и возвращаться к предыдущим состояниям. Это необходимо для восстановления предыдущих версий, понимания, кто и когда внес определенные изменения, и управления параллельными изменениями от разных разработчиков.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Что такое Git?
Каков принцип его работы?

A

Git - распределенная система управления версиями, предназначена для отслеживания изменений в исходном коде и координации работы нескольких разработчиков над проектом.

Разработана Линусом Торвальдсом в 2005 году за 2 недели в связи с отсутствием адекватных систем конроля версий.

Основные функции:
1. Отслеживание изменений
2. Ветвление и слияние
3. Распределенная система
4. История изменений
5. Совместная работа

Хэшированные цепочки данных

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Что такое commit в git?

A

git commit - фиксирует изменения локальных файлов в таймлайне репозитория.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Что такое ветка в git?

A

Branch - независимую последовательность коммитов в хронологическом порядке.

Отклонение от основного кода и продолжение работы независимо от него.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Как реализованы ветки в git?

A

Указатель на последний коммит в рассматриваемой ветке. После создания ветки уже новый указатель ссылается на текущий коммит.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Для чего нужны GitHub, GitLab и т.д.?

A

Репозиторий — это хранилище данных, содержащее все файлы проекта и их историю изменений. Репозитории могут существовать локально на компьютере разработчика или удаленно, например, на таких сервисах, как GitHub, GitLab или Bitbucket.

https://stepik.org/lesson/1036769/step/4?auth=login&unit=1045254

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Генерация ssh ключа

A

ssh-keygen -t rsa

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Просмотр версии git

A

git —version

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Установить имя в git

A

git config --global user.name "Sergey Dobrovolskiy"

git config --global user.name - узнать имя которое отображается для коммитов

git config --global user.email

Установка локального email для конкретного проекта:

  • В папке проекте:
    • git config —local [user.email](http://user.email) “email”
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Статус рабочей директории git

A

git status - The git status command displays the state of the working directory and the staging area.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

git - как инициализировать репозиторий?

A

git init - инициация папки репозитория

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

git - добавить файлы к отслеживанию

A

git add - добавить файлы к отслеживанию

  • Желательно делать коммиты как можно меньше. Т.е. можно это делать по одному файлу, чтобы были более понятны все изменения
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Удалить файлы из отслеживания

git

A

git rm —cached <file_name> - удалить файлы из отслеживания

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Как удалить папку из отслеживания?

git

A

git rm -r —cached <file_name> - удалить папку из отслеживания

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Как просмотреть историю коммитов?

git

A

git log

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Как отправить локальную ветку на удаленный репозиторий

A

git push -u origin master

-u - upstream - использовать когда делаешь пушь в первый раз в remote repository

origin - псевдоним для remote repository

17
Q

Как сменить ветку?

git

A

git branch <branch_name> - создать ветку

git checkout -b <branch_name> - сменить ветку

git merge master - слить ветку с мастером