В этом посте мы перечислили популярные вопросы и ответы на собеседования с Git, которые могут помочь вам успешно подготовиться к любому собеседованию с Git.
Git играет важную роль в организации для достижения DevOps. Эти вопросы для собеседования в Git вместе с ответами помогут вам улучшить свои знания и преуспеть в работе и на собеседовании.
Самые популярные вопросы для собеседования в GIT с ответами и примерами
1. Что такое Git?
Git — это одна из распределенных систем контроля версий (DVCS). Это позволяет нам отслеживать изменения в приложении, в папке или в одном файле с течением времени для разных пользователей и разных компьютеров. Git делает снимок всех файлов всякий раз, когда мы создаем новый коммит. Каждый коммиттер в проекте всегда имеет копию (локальный репозиторий) всего репозитория на своей машине. Таким образом, мы можем зафиксировать файловую систему Git также в автономном режиме. Это проект с открытым исходным кодом, совместимый со многими операционными системами и IDE.
2. Как лучше всего обрабатывать несколько версий одного и того же файла исходного кода?
Разные версии одного и того же исходного кода можно обрабатывать с помощью системы контроля версий.
< h3><сильный>3. Что такое система контроля версий?
Система контроля версий — это категория программных инструментов, которые помогают командам разработчиков ПО совместно работать над одним проектом и позволяют им управлять изменениями в файле или наборе данных с течением времени.
Он поддерживает все изменения и предыдущие версии проекта. и позволяет командам вызывать определенные версии на более поздних этапах.
Это гарантирует, что все члены команды работают над последней версией.
4. Каковы преимущества системы контроля версий?
1. Это полезно при совместной работе в команде. Каждый член команды из другого/одного местоположения
может внести свой вклад в один проект для достижения целей.
2. Это помогает интегрировать код автоматизации в конвейер CI/CD.
3. Это помогает на раннем этапе тестирования конкретной функции путем проверки ветки функции
5. Что такое распределенная система контроля версий?
В распределенной системе управления версиями (DVCS) каждый разработчик получает копию (клон) центрального репозитория на жестком диске локальной системы. Разработчики фиксируют и обновляют свой локальный репозиторий без каких-либо проблем. Они могут обновить свой локальный репозиторий новыми данными из центрального репозитория, используя операцию извлечения, и они могут изменить центральный репозиторий из локального репо, используя операцию push.
6. В чем разница между Git и GitHub?
GitHub | |
---|---|
Это распределенная система контроля версий для отслеживания изменений в исходном коде. кода во время разработки программного обеспечения. | Он предоставляет хостинг для разработки программного обеспечения и управления версиями с использованием Git. |
Это программное обеспечение.< td class=column-2>Это служба. | |
Он устанавливается локально в системе. | Он размещен в облаке. |
Это высококачественная система контроля версий. | Это облачная служба хостинга. . |
Это инструмент командной строки. | Он поставляется с простым в использовании интуитивно понятным пользовательским интерфейсом. |
Впервые выпущен в 2005 году. | Запущен в 2018 году. |
Бесплатный и с открытым исходным кодом. | Бесплатный и платный за использование. |
Оно было сосредоточено на контроле версий и совместном использовании кода. | Оно было сосредоточено на централизованном размещении исходного кода. |
7. Что такое репозиторий Git?
Репозиторий Git — это место, где все файлы Git хранятся либо в локальном, либо в удаленном/центральном репозитории. Это позволяет нам сохранять версии нашего кода, к которым мы можем получить доступ, когда это необходимо.
8. Какие задачи выполняет Git, когда коммит создается в Git?
Git создает 3 объекта — объект моментального снимка, объект фиксации, файловые объекты и сохраняет их в локальной базе данных Git.
9. Как хэш SHA-1 используется в Git?
Хэш SHA-1 используется для уникальной идентификации хранимых объектов в локальной базе данных Git.
10. Каковы состояния файла в Git?
Существует три разных состояния файла в Git: изменено, подготовлено и зафиксировано
11. Какова цель команды git init?
Команда git init инициализирует новый проект Git и создает локальную папку .git в каталоге проекта.
12. Что происходит после создания коммита?
При создании коммита снимки промежуточных файлов добавляются в репозиторий, а состояние проекта сохраняется.
13. Почему содержание сообщения фиксации важно в Git?
Сообщение фиксации помогает лучше понять изменения, внесенные в исходный код. Это определенная часть документации в любом проекте.
14. Нужно ли отправлять коммиты на сервер для завершения рабочего процесса Git?
Нет, отправлять коммиты на сервер не обязательно.
15. Какие задачи выполняет Git, когда выполняется команда git fetch, за которой следует git merge?
Все вновь добавленные удаленные ветки будут загружены из удаленного репозитория в локальный репозиторий, а изменения из локального затем репозиторий будет объединен с текущей активной веткой.
16. Разрешает ли Git конфликты автоматически?
Нет, Git не разрешает конфликты автоматически.
17. Возможен ли git pull, если в файле в рабочем каталоге есть незафиксированные изменения?
Команда git pull обновляет локальное репо с удаленного. Если в рабочем каталоге есть открытые изменения, git pull завершится ошибкой. Таким образом, всегда полезно зафиксировать изменения перед получением новых коммитов.
18. Что показывает git reflog с конфигом HEAD?
Журнал ссылок HEAD регистрируется, что означает журналы всех изменений, внесенных в указатель ветвления HEAD.
19. Что вы подразумеваете под ветвью в git?
Это подвижный указатель, указывающий на последнюю фиксацию среди серии коммитов.
20. Какова цель указателя HEAD?
С помощью указателя HEAD Git узнает об активной ветке, над которой нужно работать.
21. Что вы понимаете под быстрым слиянием в Git?
При быстром слиянии HEAD активной целевой ветки перемещается вперед к последней фиксации исходной ветки, которую еще предстоит слить. Условием для этого является то, что исходная ветвь не должна расходиться с активной ветвью.
22. Когда ветка расходится?
Ветвь расходится с другой веткой, как только в цепочку включается дополнительная и другая фиксация.
23. Что вы знаете о термине Diamond Shape в git?
Дополнительный коммит слияния создается всякий раз, когда в git объединяются две расходящиеся ветки, что дополнительно приводит к тому, что история коммитов целевой ветки для этого конкретного слияния выглядит как ромб.
24. Чем перебазирование отличается от слияния?
Перебазирование нельзя рассматривать как замену слиянию. По сути, он обновляет ветку до состояния другой ветки.
25. Как переписать историю коммитов ветки?
Переписать историю фиксации ветки можно разными способами. git commit — для этого можно использовать команды amend и git rebase.
26. Чей ярлык — это опция -i?
-i — это ярлык для –interactive
27. Что может -i сделать?
Опция -i используется при перемещении для редактирования, сжатия, удаления, изменения порядка и объединения коммитов.
28. Используется ли -i после перебазирования ветки?
Нет, -i используется при перебазировании.
29. В чем разница между git merge и git rebase?
Как git merge, так и git rebase интегрируют изменения из одной ветки в другую ветку.
Git Merge:
Предположим, что у вас есть две ветки, такие как основная ветвь, функциональная ветвь.
git merge хранит историю коммитов функциональной ветки как это так.
Чтобы объединить основную ветку с функциональной веткой
функция git checkout
git merge master
или одной строкой< р>мастер функции слияния git
Git Rebase:
git rebase применяет все изменения ветки функций поверх основной ветки, создавая новую фиксацию для каждой из ее предыдущие сообщения фиксации. Команда rebase изменяет историю коммитов и снова создает коммиты поверх главной ветки.
Приведенная ниже команда используется для перебазирования функциональной ветки поверх основной ветки
Следующая команда может использоваться для перебазирования функциональной ветки поверх основной ветки.
функция git checkout
git rebase -i master
Опция «-i», используемая для интерактивной перебазировки.
Мы можем просто использовать
git rebase master
30. О чем следует помнить при изменении истории веток?
Историю коммитов общедоступной ветки никогда нельзя переписывать.
31. Как разрешать конфликты?
Мы разрешаем для каждого файла. Либо примите удаленную версию, либо локальную версию с помощью команды git checkout. Инструмент, называемый инструментом слияния, также можно использовать для разрешения конфликтов.
32. Что такое «git remote» и «git clone»?
git remote: используется для создания, просмотра и удаления подключений к другим репозиториям. Используется для ссылки на удаленный репозиторий или центральный репозиторий.
git clone: используется для создания копии или клона целевого репозитория. Он используется для выбора другого уже существующего репозитория.
33. Что вы понимаете под оторванной ГОЛОВОЙ?
Detached HEAD — это состояние, когда указатель HEAD указывает на конкретную фиксацию, а не на ветку.
34. Какова роль Git в выборе вишен?
Функция выбора вишен в Git позволяет вам выбрать конкретную фиксацию и применить ее от одной ветки к другой. В этом процессе Git создает новую фиксацию с новым хешем и тем же содержимым и применяет ее к целевой ветке.
35. Можно ли одновременно выбрать несколько коммитов с помощью Cherry Picking?
Да, одновременно можно выбрать несколько коммитов.
36. Что делает Reset hard?
Он используется для сброса HEAD в локальном репозитории на конкретную фиксацию, а также в рабочем каталоге и области подготовки.
37. Какой вариант сброса используется по умолчанию, если ничего не предоставлено?
– смешанный вариант сброса по умолчанию
38. Что делают команды «git reset –mixed» и «git merge –abort»?
‘git reset –mixed’используется для отмены изменений, внесенных в рабочий каталог и промежуточную область.
'git merge –abort' используется для остановки процесса слияния и возврата к состоянию до процесса слияния.
39. Есть ли в Git скрытая функция, с помощью которой конфликты разрешаются автоматически?
Да, команда git rerere используется для автоматического разрешения конфликтов.
40. Почему в Git используется откат?
Как следует из названия, Reverting используется для отмены конкретной фиксации и применения новой фиксации с исправленными изменениями.
41. Как отменить команду фиксации, которая уже была отправлена и опубликована?
Для отмены фиксации можно использовать два процесса.
1. Создав новую фиксацию, чтобы отменить все изменения, внесенные в неверную фиксацию, и используйте следующую команду
git revert <commit id>
2. Удалите или измените поврежденный файл в новом коммите и отправьте его в удаленный репозиторий.
git commit –m «сообщение о коммите»
<сильный>42. В чем разница между «git diff» и «git status»?
Git diff:
Git diff — это многоцелевая команда Git, он используется для отображения изменений между фиксациями, фиксацией и рабочим деревом и т. д.
Команда git diff часто используется вместе с git status и git log для анализа текущего состояния репозитория Git.
< strong>Статус Git
Статус Git показывает состояние рабочего каталога и промежуточной области.
'git diff' похож на 'git status', но с той лишь разницей, что он показывает разницу между различными фиксациями, а также между рабочим каталогом и индексом.
'git diff' похож на 'git status', единственный разница в том, что он показывает различия между различными фиксациями, а также между рабочим каталогом и индексом.
43. Назовите некоторые службы репозитория хостинга Git
- GitHub
- GitLab
- GitEnterprise
- SourceForge
- Microsoft VSTS
- BitBucket
- LaunchPad
- Perforce
- Бобовый стебель
- Assembla
- Pikacode
- Beanstalk
- FogBugz
- Surround SCM
- Buddy
44. Назовите некоторые операции Git, которые вы использовали?
Операции Git, которые я использовал: >Ветвление
45. В чем разница между git checkout [название ветки] и git checkout -b [название ветки]?
команда git checkout [название ветки] переключает с одной ветки на другую
Команда git checkout –b [название ветки] создает новую ветку и также переключается на нее.
46. Как удалить файл из Git, не удаляя его из локальной файловой системы?
Используя параметр «кешировать»
Приведенная ниже команда удаляет файлы из Git, не удаляя их файлы с нашего локального диска.
git rm -rf -cached $FILES
47. Какой язык используется в Git?
Git написан на языке программирования C. Это делает Git быстрее за счет сокращения накладных расходов во время выполнения, связанных с языками высокого уровня.
48. Как исправить сломанную фиксацию?
Мы используем команду 'git commit –amend', чтобы исправить сломанную фиксацию или изменить последнюю фиксацию.
Эта команда объединяет поэтапные изменения с предыдущую фиксацию в качестве альтернативы созданию совершенно новой фиксации. Он заменяет недавнюю фиксацию измененной фиксацией.
49. Упомяните некоторые команды Git и их функцию.
Конфигурация Git:Настройка имени пользователя и адреса электронной почты
Git add: добавление одного или нескольких файлов в тестовую область
Git diff: просмотр изменений, внесенных в file
Git init: для инициализации пустого репозитория Git
Git commit: для фиксации изменений в головном, но не в удаленном репозитории.
50. Как вы инициализируете репозиторий Git?
Чтобы создать новый репозиторий, мы должны использовать следующую команду
git init
Это одноразовая команда, которую мы используем во время первоначальной настройки нового репозитория.
Во-первых, нам нужно создать каталог для проекта, чтобы каталог .git был создан внутри нашего каталога проекта и нашего каталог проекта превратится в репозиторий Git.
51. Что такое каталог .git?
Папка .git содержит всю информацию, которая необходима для вашего проекта, а также всю информацию о коммитах, хуках, ссылках, базах данных объектов, адресах удаленных репозиториев и т. д. В ней ведется журнал для отслеживания всех изменений, внесенных в файлы в репозитории. .
52. Что такое сообщение фиксации в Git?
Команда фиксации в Git используется для записи хода выполнения в локальном репозитории. Он выполняется после того, как файлы, которые нужно зафиксировать, были добавлены в промежуточную область с помощью команды git add, например, ‘git commit –m’
53. Что такое команда git push.
Команда Git push используется для отправки файлов из локального репозитория в удаленный репозиторий. Как только разработчик изменяет локальный репозиторий, он выполняет команду push, чтобы поделиться этими изменениями с удаленными членами команды.
54. Что такое команда git pull.
Команда Git pull представляет собой комбинацию «git fetch», за которой следует «git merge». Он используется для извлечения и объединения изменений из удаленного репозитория в локальный репозиторий.
55. Что такое Git Stash?
GIT stash фиксирует текущее состояние рабочего каталога, индексирует его и сохраняет в стеке на более позднем этапе. Он возвращает чистый рабочий каталог.
Предположим, вы работаете над проектом, и все становится грязным, и вы хотите на какое-то время переключить ветки, чтобы поработать над чем-то другим, и не хотите коммитить или отменять свой код. Сташ тебе в помощь. Вы можете просто использовать команду git stash в git.
56. Что такое Git Stash drop?
Git Stash drop в git используется для удаления определенного элемента тайника из списка спрятанных предметов.
Вы можете удалить определенный тайник, выполнив команду следующая команда.
git stash drop <stash_id>
Если вы хотите удалить из репозитория сразу все тайники, вы можете запустить следующую команду
git stash clear
Например:
Если вы хотите увидеть полный список спрятанных элементов, используйте следующую команду
git stash list
Она отобразит список спрятанных элементов как следует
stash@{0}: WIP на мастере: a52e112 добавил индексный файл
stash@{1}: WIP на master: b473693 Восстановить «добавленный размер_файла»
stash@{2}: WIP на master: 44e45v2 добавлено число в журнал
Чтобы удалить элемент с именем stash@{0}, мы используем следующую команду
git stash drop stash @{0}
57. О чем следует помнить при написании сообщения о коммите?
Сообщение о коммите должно сообщать, какое изменение внесено в этот конкретный коммит и как оно повлияет на код, поскольку очень важно отслеживать изменения. внесенные изменения, а также важный шаг в документации кода.
58. Какова основная цель GitHub-потока?
Основной принцип GitHub-потока заключается в том, что ветка с одним и тем же именем регулярно отправляется из локального в удаленный репозиторий, чтобы получить быстрый ответ от Сервер непрерывной интеграции.
59. Какова основная цель Git Repository Manager?
Git Repository Manager используется при совместной разработке программного обеспечения.
60. Как восстановить ветку, которая была удалена вами и уже отправила изменения в центральный репозиторий git. Предположим, что других репозиториев git нет и ни у кого из членов вашей команды не было локальной копии.
Сначала я просматриваю reflog для последний коммит в эту ветку, а затем зарегистрируйте ее как новую ветку.
61. Что вы знаете о собственной службе Git?
Собственная служба Git — это не что иное, как менеджер репозитория Git, размещенный на собственном сервере.
62 . Какая польза от git instaweb?
Instaweb — это скрипт, используемый для установки временного экземпляра GitWeb на веб-сервере для просмотра вашего локального рабочего репозитория Git в веб-браузере.
git instaweb позволяет вам просматривать рабочий репозиторий Git в веб-браузере. gitweb.
63. Что такое SubGit?
SubGit — это программный инструмент, используемый для перехода с SVN на Git. Чтобы перенести репозиторий с SVN на Git, вы должны установить SubBit на свой сервер Git.
64. Какие есть альтернативы SubGit?
Некоторые альтернативы SubGit следующие
- SmartGit
- GitKraken
- TortoiseGit
- git- cola
- Tower
- gitg
В заключение:
На этом я заканчиваю этот пост. Если у вас есть какие-либо другие вопросы, пожалуйста, оставьте комментарий ниже, и мы ответим на них и включим в этот пост. Перед тем, как отправиться на собеседование, обязательно ознакомьтесь с этим списком вопросов для интервью с Git. Кроме того, я настоятельно рекомендую вам просмотреть этот список вопросов для интервью DevOps.
TAG: qa