Git собеседования – Telegram
Git собеседования
596 subscribers
98 photos
183 links
Подготовка к собеседованиям в IT

Еще больше разобранных вопросов для подготовки на сайте https://frontview-it.ru

Frontend - @frontview_it
Backend - @frontview_backend
Все IT вакансии - @frontview_all_vacancies
Download Telegram
Конфликты при слиянии веток отображаются автоматически, если Git не может автоматически объединить изменения. Для просмотра конфликтующих файлов можно использовать команду git status, которая покажет файлы, требующие ручного разрешения.

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61
✏️ Чтобы игнорировать файлы по расширению, нужно добавить соответствующие правила в файл .gitignore. Для этого используется синтаксис с символом *, который обозначает любое имя файла.

Пример: игнорирование всех файлов с расширением .log и .tmp.


*.log
*.tmp


Эти правила указывают Git игнорировать все файлы, заканчивающиеся на .log и .tmp, в любой директории проекта. Файл .gitignore должен находиться в корне репозитория.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81
Pull Request (PR) — это запрос на внесение изменений в репозиторий. Он позволяет разработчикам предложить свои изменения, которые затем могут быть проверены и влиты в основную ветку проекта.

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61
▶️Для работы с репозиториями через SSH необходимо сгенерировать SSH-ключи и добавить публичный ключ в настройки аккаунта на GitHub, GitLab или другом хостинге. После этого можно клонировать репозитории и выполнять операции, используя SSH-URL.


git clone git@github.com:username/repository.git


SSH обеспечивает безопасное соединение без необходимости ввода логина и пароля при каждом взаимодействии с удаленным репозиторием. Это особенно полезно для автоматизации и CI/CD.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
Чтобы изменить последний коммит, используется команда git commit --amend. Она позволяет изменить сообщение коммита или добавить новые изменения в последний коммит, не создавая новый.

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63
🔴Интерактивный режим git rebase позволяет изменять историю коммитов, объединять, редактировать или переупорядочивать их. Для запуска используется команда:


git rebase -i <commit_hash>


После выполнения команды откроется редактор со списком коммитов. Каждый коммит можно изменить с помощью команд:
- pick — оставить коммит без изменений.
- reword — изменить сообщение коммита.
- edit — остановиться для внесения изменений в коммит.
- squash — объединить коммит с предыдущим.
- drop — удалить коммит.

После сохранения изменений Git применяет их последовательно. Интерактивный rebase полезен для очистки истории перед слиянием веток.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Для удаления локальной ветки используется команда git branch -d <branch_name>, а для принудительного удаления — git branch -D <branch_name>. Чтобы удалить ветку на удаленном репозитории, выполните git push origin --delete <branch_name>.

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
🟢Для создания коммита в Git используется команда git commit. Перед этим необходимо добавить изменения в индекс (staging area) с помощью git add. Пример:


git add .
git commit -m "Описание изменений"


Команда git add . добавляет все изменения в текущей директории в индекс. Если нужно добавить только конкретные файлы, вместо . указываются их имена.

Флаг -m позволяет сразу добавить сообщение коммита. Если его не указать, откроется текстовый редактор для ввода сообщения.

Для более короткого варианта, можно использовать git commit -am "Описание изменений", чтобы добавить изменения и создать коммит одной командой. Однако это работает только для уже отслеживаемых файлов.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61
👉 Команда git fetch используется для получения изменений из удаленного репозитория без их автоматического слияния с текущей рабочей веткой. Она загружает все новые коммиты, ветки и теги, но не изменяет рабочую директорию или текущую ветку.

Пример использования:


git fetch origin


Эта команда загружает изменения из удаленного репозитория origin. После выполнения git fetch можно вручную проверить изменения и решить, как их интегрировать, например, с помощью git merge или git rebase.

Основное отличие от git pull в том, что git fetch только загружает данные, а git pull сразу объединяет их с текущей веткой. Это делает git fetch более безопасным, так как позволяет предварительно изучить изменения перед слиянием.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61
git bisect — это инструмент для бинарного поиска коммита, который внес ошибку в код. Он автоматически проверяет коммиты, начиная с известного рабочего состояния и заканчивая нерабочим, чтобы найти точное место появления проблемы.


git bisect start
git bisect bad # Указать текущий коммит как нерабочий
git bisect good <commit_hash> # Указать коммит, где все работало


После каждого шага git bisect перемещается на середину диапазона, пока не найдет проблемный коммит.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81
git revert создает новый коммит, который отменяет изменения, внесенные указанным коммитом. Это безопасный способ отката, так как он не изменяет историю, а добавляет новый коммит с обратными изменениями.


git revert <commit_hash> # Создает коммит, отменяющий изменения


Если нужно отменить несколько коммитов, можно указать диапазон:


git revert <oldest_commit_hash>..<latest_commit_hash>


Этот подход полезен для исправления ошибок без перезаписи истории.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
Публичные репозитории доступны для просмотра и клонирования всем пользователям, что полезно для открытых проектов. Приватные репозитории ограничены доступом и используются для хранения закрытого кода, доступного только определенным пользователям или командам.

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
😎Настройка пользовательских данных в Git необходима для идентификации автора коммитов. Это делается с помощью команд git config.

Установка имени и email:


git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"


Эти данные будут использоваться для всех коммитов в системе.

Проверка текущих настроек:


git config --list


Эта команда покажет все текущие настройки, включая имя и email.

Настройки сохраняются в файле конфигурации Git и могут быть изменены в любой момент.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
👉 Создание нового тега в Git — простая, но важная задача для управления версиями. Теги используются для отметки значимых моментов в истории проекта, например, релизов.

Чтобы создать новый тег, используется команда git tag. Например, для создания легковесного тега:


git tag v1.0


Этот тег будет указывать на текущий коммит. Для создания аннотированного тега, который содержит дополнительную информацию (автор, дата, сообщение), используется флаг -a:


git tag -a v1.0 -m "Релиз версии 1.0"


После создания тега локально, его можно отправить в удаленный репозиторий:


git push origin v1.0


Теги помогают быстро находить важные точки в истории проекта и упрощают навигацию по коммитам.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Staging area (область подготовки) — это промежуточная область в Git, где фиксируются изменения перед тем, как они будут закоммичены. Она позволяет выбирать конкретные файлы или части файлов для включения в следующий коммит, что обеспечивает гибкость в управлении изменениями.


git add file.txt # Добавляет file.txt в staging area
git status # Показывает изменения в staging area
git commit -m "Add file.txt" # Создает коммит из изменений в staging area


Staging area помогает организовать изменения, разделяя их на логические блоки. Это особенно полезно при работе над несколькими задачами одновременно, чтобы не смешивать изменения в одном коммите.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🔵Форк — это полная копия репозитория, созданная в рамках платформы (например, GitHub или GitLab). После форка репозиторий становится независимым, и изменения в нем не влияют на оригинальный проект.

Основные особенности:
- Форк используется для внесения изменений без прямого доступа к исходному репозиторию.
- Позволяет предложить правки через Pull Request (PR) в оригинальный проект.
- Часто применяется в open-source разработке.

Как создать форк:
1. На GitHub/GitLab нажать кнопку Fork в интерфейсе репозитория.
2. Склонировать свою версию на локальную машину:

git clone https://github.com/your-username/repository.git


Форк отличается от ветки (branch) тем, что существует как отдельный репозиторий, а не внутри исходного проекта.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Git собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7