237 просмотров
От 2 июня 2023

Вопросы, которые задают на собеседовании про Git

1. Что такое Git?

Git - программное обеспечение, призванное помочь в версионировании кода и координации командной разработки. Является основой реализации распределенной системы контроля версий "GitHub".

2. Что такое GitHub?

GitHub - это платформа для размещения репозиториев с исходным кодом, предоставляющая возможность взаимодействия с ними посредством Git.

3. Что такое git-репозиторий?

git-репозиторий - это проинициализированная с помощью git директория, хранящая файлы исходного кода проекта. Репозиторий может быть либо локальным, либо удаленным.

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

Для инициализации репозитория необходимо установить git, перейти в целевую директорию проекта и выполнить в ней консольную команду git init.

5. Как скачать удаленный репозиторий?

$ git clone https://github.com/schacon/ticgit' Cloning into 'ticgit'... remote: Reusing existing pack: 1857, done. remote: Total 1857 (delta 0), reused 0 (delta 0) Receiving objects: 100%, 374.35 KiB | 268.00 KiB/s, done. Resolving deltas: 100% (772/772), done. Checking connectivity... done. Это правильнее называть не скачиванием, а клонированием. Клонирование осуществляется командой git clone <repository_url>.

6. Как вывести список подключенных удаленных репозиториев?

$ git remote -v origin https://github.com/schacon/ticgit (fetch) origin https://github.com/schacon/ticgit (push) Эту функцию выполняет команда git remote -v.

7. Как к локальному репозиторию подключить удалённый?

$ git remote add origin https://github.com/paulboone/ticgit $ git remote -v origin https://github.com/paulboone/ticgit (fetch) origin https://github.com/paulboone/ticgit (push) Для того, чтобы к локальному репозиторию подключить удалённый репозиторий, с которым будет осуществляться последующее взаимодействие и синхронизация, необходимо выполнить команду git remote add <repository_local_name> <repository_url>

8. Как получить изменения из удалённого репозитория?

$ git fetch origin master Правильным ответом будет git fetch. В работе мы используем git pull, но git pull не только скачивает изменения из удалённого репозитория, но и применяет их к локальному репозиторию. Грубо говоря, можно сказать, что git pull = git fetch + git merge.

9. Как проиндексировать изменённый файл?

$ git add . $ git add CONTRIBUTING.md Команда git add вносит изменённый файл под версионный контроль или, еще можно сказать, начинает его отслеживание git-ом.

10. Как зафиксировать проиндексированные изменения?

$ git commit -m "Story 182: fix benchmarks for speed" Команда git commit фиксирует изменения, проиндексированные прежде с помощью git add . в один "пакет изменений" с сопровождающим сообщением, указывающимся через атрибут -m. То-есть полная команда будет выглядеть так: git commit -m "Вот мой коммит". Можно сказать, что git commit делает снимок проиндексированных с помощью git add файлов.

11. Как применить git commit без git add?

$ git commit -a -m 'Add new benchmarks' Если у вас есть желание пропустить этап индексирования, Git предоставляет простой способ. Добавление параметра -a в команду git commit заставляет Git автоматически индексировать каждый уже отслеживаемый на момент коммита файл, позволяя обойтись без git add.

12. Как отправить изменения в удалённый репозиторий?

$ git push origin master После того, как выполнены git add и git commit, остается лишь выполнить git push, чтобы отправить закоммиченные изменения в удалённый репозиторий из локального.

13. Что такое ветка?

Под веткой принято понимать независимую последовательность коммитов в хронологическом порядке. Однако, конкретно в Git реализация ветки выполнена как указатель на последний коммит в рассматриваемой ветке. После создания ветки уже новый указатель ссылается на текущий коммит. Имя основной ветки Git-проекта по умолчанию — master (однако зачастую бывает main, например, в GitHub), она появляется сразу при инициализации репозитория.

14. Как создать новую ветку?

$ git branch testing Команда git branch <branch_name> создаёт новую ветку. Однако, после создания вы, скорее всего, захотите на неё переключиться с помощью команды git checkout <branch_name>. Для такого случая можно использовать всего одну команду вместо двух: git checkout -b <branch_name> - она создаёт новую ветку и перемещает вас в неё.

15. Как удалить ветку?

git branch -d <branch_name> Команда git branch -d <branch_name> удаляет существующую ветку из локального репозитория. Для удаления ветки в удаленном репозитории используйте git push origin -d <branch_name>.

16. В чём разница между git pull и git fetch?

Поддержи проект и получи доступ ко всему контенту всего за 290

17. Что такое git stash?

Поддержи проект и получи доступ ко всему контенту всего за 290

18. Как сравнить файлы двух веток?

Поддержи проект и получи доступ ко всему контенту всего за 290

19. Как дополнить уже сделанный коммит?

Поддержи проект и получи доступ ко всему контенту всего за 290

20. Как вывести историю коммитов?

Поддержи проект и получи доступ ко всему контенту всего за 290
Хочешь стать частью сообщества Девстанции?
Вступай в наш чат в Telegram

Также в этой категории

Викторина
  10 вопросов

Викторина на базовое знание Git

Тест на знание базовых механик Git

66 просмотров
От 30 мая 2023

Вам может быть интересно

Шпаргалка
  7 вопросов

Коллекция полезных команд для Docker

Большая шпаргалка по всем командам Docker

200 просмотров
От 12 октября 2023

Топ тредов

Gravatar for 9tokio
Tokio:
то что раньше было бесплатным теперь платное - вот это я понимаю

Последнее сообщение:
Логотип Девстанции
Девстанция:
Спасибо за поддержку проекта :) Повышение качества контента - один из важнейших приоритетов. Этому м...
3 сообщения
213 просмотров

Логотип Девстанции
Девстанция:
Поиск людей для совместной разработки IT-стартапов

Последнее сообщение:
В этом треде пока нет сообщений
0 сообщений
108 просмотров

Логотип Девстанции
Девстанция:
Какой язык программирования выбрать в качестве первого?

Последнее сообщение:
Gravatar for 2kokke
Kokke:
Python или JS - универсально. Но по уму надо бы с чего-то строгого начинать и достаточно низкоуровне...
1 сообщение
140 просмотров

Все категории