AI Engineering Tools

Программирование

Термины Git/GitHub

Поисковый справочник по репозиториям, branch, commit, синхронизации, PR, конфликтам и безопасным Git-действиям.

33 терминов

Основные понятия

Репозиторий

Repository

engineerdoge/math-ai-tools

Значение

Папка проекта, отслеживаемая системой контроля версий Git, обычно зеркально отображаемая на GitHub.

Применение

Когда вы запрашиваете просмотр проекта, фиксацию изменений или сравнение веток, репозиторий является единицей, с которой выполняется работа.

Пример

engineerdoge/math-ai-tools

Пример запроса

Проверьте текущий статус репозитория.

Основные понятия

Рабочее дерево

Working tree

git status

Значение

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

Применение

Используйте это для разделения истории коммитов от изменений, которые в настоящее время находятся в процессе выполнения.

Пример

git status

Пример запроса

Отображать изменения в рабочей области.

Основные понятия

Область подготовки

Staging area

git add src/components/SiteHeader.tsx

Значение

Временный набор изменений, которые будут включены в следующий коммит.

Применение

Это позволяет коммитить только файлы или фрагменты, которые принадлежат друг другу.

Заметка

Область подготовки сама по себе не сохраняет историю. Коммит - это то, что ее записывает.

Пример

git add src/components/SiteHeader.tsx

Пример запроса

Добавьте только файлы для страницы с терминами Git.

Основные понятия

Фиксация (commit)

Commit

git commit -m "Add Git terms reference"

Значение

Сохраненный снимок выбранных изменений в истории репозитория.

Применение

Фиксации позволяют просматривать, сравнивать, развертывать или отменять изменения позже.

Пример

git commit -m "Add Git terms reference"

Пример запроса

Создайте коммит с кратким сообщением.

Основные понятия

Diff (дифференциал)

Diff

git diff

Значение

Вид построчного представления изменений между двумя состояниями файла.

Применение

Diff – это самый быстрый способ проверить, какие изменения были внесены, прежде чем зафиксировать их.

Пример

git diff

Пример запроса

Просмотрите изменения (diff) для неожиданных изменений.

Ветки

Ветка

Branch

qwen3.5

Значение

Именованная линия работы, которая может перемещаться отдельно от других линий работы.

Применение

Ветки позволяют разрабатывать функцию, не изменяя сразу основную ветку.

Пример

qwen3.5

Пример запроса

Сообщите мне, в какой ветке я сейчас нахожусь.

Ветки

основная ветка

main branch

main

Значение

Ветвь по умолчанию, которая обычно представляет стабильную или готовую к производству версию.

Применение

Сравните вашу рабочую ветку с основной веткой, чтобы увидеть, что изменилось.

Пример

main

Пример запроса

Сравните эту ветку с основной веткой.

Ветки

выполнить checkout

checkout

git switch qwen3.5

Значение

Переключение рабочей ветки на другую ветку или коммит.

Применение

Используйте это, когда вам нужно просмотреть или продолжить работу над другой веткой.

Заметка

Неизмененные изменения могут блокировать переключение веток, если они будут перезаписаны.

Пример

git switch qwen3.5

Пример запроса

Переключитесь на ветку qwen3.5 после проверки наличия незафиксированных изменений.

Ветки

merge

merge

git merge main

Значение

Объединение изменений из одной ветки в другую ветку.

Применение

Используйте merge для переноса основных обновлений в вашу ветку разработки или завершения реализации новой функции в основную ветку.

Заметка

Слияние может вызывать конфликты, когда обе ветки редактировали одни и те же строки по-разному.

Пример

git merge main

Пример запроса

Объясните, что произойдет перед слиянием ветки main в эту ветку.

Ветки

rebase

rebase

git rebase main

Значение

Повторное применение изменений из одной ветки поверх другого базового коммита.

Применение

Это может сделать историю похожей на линейную перед слиянием ветки с функциями.

Заметка

Rebase переписывает историю коммитов, поэтому его следует использовать с осторожностью в общих ветках.

Пример

git rebase main

Пример запроса

Не выполняйте перебазировку сейчас. Сначала объясните риск на этой ветке.

Синхронизация

клонировать

clone

git clone https://github.com/user/project.git

Значение

Создание локальной копии удаленного репозитория.

Применение

Обычно это первый шаг при начале работы над существующим проектом на GitHub.

Пример

git clone https://github.com/user/project.git

Пример запроса

Клонируйте этот репозиторий и покажите доступные ветки.

Синхронизация

удаленный

remote

origin git@github.com:user/project.git

Значение

Именованное подключение от локального репозитория к репозиторию, расположенному в другом месте.

Применение

Удаленные настройки определяют, где происходят обмен данными между клиентом и сервером.

Пример

origin git@github.com:user/project.git

Пример запроса

Отображать настроенные удаленные репозитории.

Синхронизация

получить

fetch

git fetch origin

Значение

Загрузка информации удаленной ветки без изменения ваших рабочих файлов.

Применение

Используйте `fetch` перед сравнением вашей ветки с последним состоянием удаленного репозитория.

Пример

git fetch origin

Пример запроса

Получить из исходного источника, затем сравнить эту ветку с основной.

Синхронизация

pull

pull

git pull origin main

Значение

Получение удаленных изменений и применение их к текущей ветке.

Применение

Используйте это для обновления вашей локальной ветки с изменениями, которые были отправлены в другое место.

Заметка

Изменение ветки может изменить вашу рабочую ветку и вызвать конфликты.

Пример

git pull origin main

Пример запроса

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

Синхронизация

push

push

git push origin qwen3.5

Значение

Загрузка локальных коммитов в удаленный репозиторий.

Применение

`Push` делает ваши локальные изменения, зафиксированные в репозитории, доступными на GitHub или другом удаленном сервере.

Заметка

`Push` загружает только зафиксированные изменения, а не не сохраненные изменения в рабочей области.

Пример

git push origin qwen3.5

Пример запроса

Выполните `push` текущей ветки после подтверждения успешной сборки.

Синхронизация

origin

origin

git push origin qwen3.5

Значение

Стандартное имя для удаленного репозитория, из которого вы клонировали.

Применение

Большинство примеров push, pull и fetch используют "origin" в качестве имени удаленного репозитория.

Пример

git push origin qwen3.5

Пример запроса

Проверьте, указывает ли источник на ожидаемый репозиторий GitHub.

Ревью

Запрос на внесение изменений (Pull Request)

Pull Request

Открыть PR из qwen3.5 в основную ветку.

Значение

Страница просмотра в GitHub для обсуждения и слияния изменений ветки.

Применение

Используйте PR для просмотра измененных файлов, выполнения проверок, обсуждения комментариев и безопасного слияния.

Пример

Открыть PR из qwen3.5 в основную ветку.

Пример запроса

Опишите, что должно быть включено в описание PR.

Ревью

Ревью

Review

Просмотреть запрошенные изменения

Значение

Проверка изменений в коде на наличие ошибок, регрессий, читаемости и отсутствующих тестов.

Применение

Проверка помогает выявить проблемы до слияния ветки в общую кодовую базу.

Пример

Просмотреть запрошенные изменения

Пример запроса

Проверьте эту ветку на наличие ошибок и отсутствующих тестов.

Конфликты

Конфликт слияния

Merge conflict

CONFLICT (content): Конфликт слияния в src/app/page.tsx

Значение

Ситуация, когда Git не может автоматически объединить изменения из разных веток.

Применение

Вы должны выбрать правильный окончательный контент, прежде чем слияние сможет продолжиться.

Заметка

Не принимайте слепо одну точку зрения. Сначала проверьте предполагаемое поведение.

Пример

CONFLICT (content): Конфликт слияния в src/app/page.tsx

Пример запроса

Объясните конфликт и предложите наиболее безопасное решение.

Конфликты

Маркер конфликта

Conflict marker

<<<<<<< HEAD

Значение

Текстовые маркеры, которые Git вставляет в файл, чтобы показать конфликтующие версии.

Применение

Маркеры показывают, какая часть пришла из вашей текущей ветки, а какая – из входящей ветки.

Заметка

Маркеры конфликтов не должны оставаться в зафиксированном коде.

Пример

<<<<<<< HEAD

Пример запроса

Найдите все оставшиеся маркеры конфликтов.

Конфликты

Неотслеживаемый файл

Untracked file

?? src/lib/git-github.ts

Значение

Файл, который существует в папке, но еще не добавлен в отслеживание Git.

Применение

Новые страницы и компоненты обычно отображаются как не отслеживаемые, пока они не будут добавлены в индекс.

Пример

?? src/lib/git-github.ts

Пример запроса

Перечислите неотслеживаемые файлы и сообщите, какие из них относятся к этой функции.

Конфликты

Измененный файл

Modified file

M src/components/SiteHeader.tsx

Значение

Отслеживаемый файл, содержимое которого отличается от последней зафиксированной версии.

Применение

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

Пример

M src/components/SiteHeader.tsx

Пример запроса

Отображать измененные файлы для этой задачи.

Безопасность

stash

stash

git stash push -m "before branch switch"

Значение

Временно сохраняет незафиксированные изменения, чтобы рабочая область стала чистой.

Применение

Используйте команду "stash" перед переключением веток, если вы еще не готовы зафиксировать изменения.

Заметка

Сохраненные изменения могут быть забыты. Всегда давайте им четкое имя и применяйте их намеренно.

Пример

git stash push -m "before branch switch"

Пример запроса

Сохраните мои текущие изменения с четким сообщением перед переключением веток.

Безопасность

сброс

reset

git reset --soft HEAD~1

Значение

Возврат ветки или промежуточной версии к другому коммиту или состоянию.

Применение

Мягкая или частичная перезапись может изменить локальный коммит перед его передачей.

Заметка

Жесткая перезагрузка может привести к потере работы. Перед использованием запросите объяснение.

Пример

git reset --soft HEAD~1

Пример запроса

Объясните самый безопасный способ отменить последнюю локальную фиксацию без потери изменений.

Безопасность

отменить изменения

revert

git revert abc1234

Значение

Создание нового коммита, который отменяет предыдущий коммит.

Применение

Откат обычно безопаснее, чем перезапись истории после того, как изменения были отправлены.

Пример

git revert abc1234

Пример запроса

Отмените проблемный коммит, не перезаписывая общую историю.

Безопасность

принудительная отправка

force push

git push --force-with-lease origin qwen3.5

Значение

Перезапись удаленной ветки историей вашей локальной ветки.

Применение

Иногда используется после перезаписи локальной истории в частной ветке с функциями.

Заметка

Принудительная отправка может перезаписать удаленные коммиты других пользователей. Предпочтительнее использовать `force-with-lease` и сначала убедиться.

Пример

git push --force-with-lease origin qwen3.5

Пример запроса

Не используйте принудительную отправку. Объясните, необходима ли принудительная отправка с проверкой.

Безопасность

Файл .gitignore

.gitignore

Директория .next/

Значение

Файл, указывающий Git, какие файлы или папки не следует отслеживать.

Применение

Используйте это для выходных данных сборки, зависимостей, локальных файлов среды и временных файлов.

Пример

Директория .next/

Пример запроса

Проверьте, правильно ли игнорируется вывод сборки.

Команды

git status

git status

git status --short

Значение

Команда, которая показывает ветку, подготовленные изменения, измененные файлы и неотслеживаемые файлы.

Применение

Запустите его перед редактированием, коммитом, извлечением или переключением ветки.

Пример

git status --short

Пример запроса

Запустите git status и суммируйте только важные изменения.

Команды

git log

git log

git log --oneline -5

Значение

Команда для просмотра истории коммитов.

Применение

Используйте это для поиска последних изменений, сравнения работы или определения изменения для отката.

Пример

git log --oneline -5

Пример запроса

Отображать последние пять коммитов в компактном формате.

Команды

git add

git add

git add src/lib/git-github.ts

Значение

Команда, которая подготавливает изменения для следующего коммита.

Применение

Используйте явные пути, когда вы хотите сделать сфокусированный коммит.

Пример

git add src/lib/git-github.ts

Пример запроса

Добавьте только файлы, созданные для этой страницы.

Команды

git commit

git commit

git commit -m "Add Git terms reference"

Значение

Команда, которая записывает подготовленные изменения в историю репозитория.

Применение

Используйте сообщение, которое объясняет, что изменилось и почему это важно.

Пример

git commit -m "Add Git terms reference"

Пример запроса

Зафиксируйте внесенные изменения с четким сообщением.

Команды

git pull

git pull

git pull --ff-only

Значение

Команда, которая обновляет текущую ветку из удаленной ветки.

Применение

Опция --ff-only позволяет избежать создания неожиданного слияния.

Пример

git pull --ff-only

Пример запроса

Используйте `ff-only`, только если это безопасно.

Команды

git push

git push

git push origin HEAD

Значение

Команда, которая загружает локальные коммиты в удаленную ветку.

Применение

Используйте это после успешного прохождения тестов и готовности к публикации изменений.

Пример

git push origin HEAD

Пример запроса

Выполните `push` этой ветки после подтверждения отсутствия ошибок линтинга или сборки.