Основные операции Git
Задача Git — создавать и сохранять снимки вашего проекта и сравнивать их с последующими снимками.
В этой главе будут представлены команды для создания и фиксации снимков вашего проекта.
6 часто используемых команд Git:git clone、git push、git add 、git commit、git checkout、git pullМы подробно расскажем об этом позже.

Описание:
- рабочая область: рабочий каталог
- область подготовки: область подготовки/область кэша
- локальный репозиторий: репозиторий или локальный репозиторий
- удалённый репозиторий: удалённый репозиторий
Простой порядок действий:
$ git init $ git add . $ git commit
- git init - инициализировать репозиторий.
- git add . - добавить файлы в область подготовки.
- git commit - добавить содержимое области подготовки в репозиторий.
Команды создания репозитория
В следующей таблице перечислены команды для создания репозитория Git:
| Команда | Описание |
|---|---|
git init |
Инициализировать репозиторий |
git clone |
Скопировать удалённый репозиторий, то есть скачать проект. |
Коммит и изменение
Задача Git — создавать и сохранять снимки вашего проекта и сравнивать их с последующими снимками.
В следующей таблице перечислены команды для создания и фиксации снимков вашего проекта:
| Команда | Описание |
|---|---|
git add |
Добавить файлы в область подготовленных файлов |
git status |
Просмотреть текущее состояние репозитория с отображением изменённых файлов. |
git diff |
Сравнить различия файлов, то есть различия между областью подготовленных файлов и рабочим каталогом. |
git difftool |
Использовать внешний инструмент сравнения для просмотра и сравнения изменений файлов. |
git range-diff |
Сравнить различия между двумя диапазонами коммитов. |
git commit |
Зафиксировать область подготовленных файлов в локальном репозитории. |
git reset |
Откатить версию. |
git rm |
Удалить файлы из области подготовки и рабочего каталога. |
git mv |
Переместить или переименовать файлы в рабочем каталоге. |
git notes |
Добавить комментарий. |
git checkout |
Переключение ветки. |
git switch (Git 2.23 版本引入) |
Переключать ветки более наглядно. |
git restore (Git 2.23 版本引入) |
Восстановить или отменить изменения в файлах. |
git show |
Отобразить подробную информацию об объектах Git. |
SubmitLog
| Команда | Описание |
|---|---|
git log |
Просмотреть исторические записи коммитов |
git blame <file>
|
Просмотреть исторические записи изменений указанного файла в виде списка. |
git shortlog |
Создать краткую сводку журнала коммитов |
git describe |
Создать читаемую строку, описывающую текущий коммит, на основе системы тегов Git. |
farCourseOperation
| Команда | Описание |
|---|---|
git remote |
Операции с удалённым репозиторием |
git fetch
|
Получение репозитория из удалённого |
git pull
|
Скачать удалённый код и выполнить слияние |
git push
|
Загрузить код в удалённый репозиторий и выполнить слияние |
git submodule
|
Управление проектами, содержащими другие репозитории Git. |
Состояния файлов в Git
Состояния файлов Git делятся на три типа: рабочий каталог, область подготовленных файлов и локальный репозиторий. Понимание этих концепций и их взаимодействия — ключ к освоению Git.
Рабочий каталог
Рабочий каталог — это файлы проекта, которые вы видите на своём локальном компьютере. Именно там вы фактически работаете с файлами: просматриваете, редактируете, удаляете и создаёте файлы. Все изменения файлов сначала происходят в рабочем каталоге.
Файлы в рабочем каталоге могут иметь следующие состояния:
- Неотслеживаемый: только что созданный файл, который ещё не записан Git.
- Изменённый: файл, отслеживаемый Git, был изменён, но эти изменения ещё не зафиксированы в записях Git.
Область подготовленных изменений
Область подготовленных изменений, также называемая индексом, — это временное хранилище, используемое для хранения изменений, которые вот-вот будут зафиксированы в локальном репозитории. Вы можете выборочно добавлять изменения из рабочего каталога в область подготовленных изменений, чтобы можно было зафиксировать изменения из нескольких файлов сразу, не фиксируя изменения из всех файлов.
- Использование
git add <filename>Команда добавляет файлы из рабочего каталога в область подготовленных изменений. - Использование
git add .Команда добавляет все изменения в текущем каталоге в область подготовленных изменений.
git add <filename> # 添加指定文件到暂存区 git add . # 添加所有更改到暂存区
Локальный репозиторий
Локальный репозиторий — это.gitбаза данных, скрытая в каталоге, которая используется для хранения всей истории коммитов проекта. Каждый раз, когда вы фиксируете изменения, Git сохраняет содержимое области подготовленных изменений в локальный репозиторий.
Использованиеgit commit -m "commit message"Команда фиксирует изменения из области подготовленных изменений в локальном репозитории.
git commit -m "commit message" # 提交暂存区的更改到本地仓库
Процесс перехода состояний файла
Неотслеживаемый: только что созданные файлы изначально неотслеживаемы. Они существуют в рабочем каталоге, но не отслеживаются Git.
touch newfile.txt # 创建一个新文件 git status # 查看状态,显示 newfile.txt 未跟踪
Отслеживаемый:
Черезgit addПосле того как команда добавляет неотслеживаемый файл в область подготовленных изменений, файл становится отслеживаемым.
git add newfile.txt # 添加文件到暂存区 git status # 查看状态,显示 newfile.txt 在暂存区
Изменено: После внесения изменений в отслеживаемый файл эти изменения отображаются как изменённые, но ещё не добавлены в область подготовленных изменений.
echo "Hello, World!" > newfile.txt # 修改文件 git status # 查看状态,显示 newfile.txt 已修改
Проиндексировано:
Использованиеgit addПосле того как команда добавляет изменённые файлы в область подготовленных изменений, файлы переходят в проиндексированное состояние, ожидая фиксации.
git add newfile.txt # 添加文件到暂存区 git status # 查看状态,显示 newfile.txt 已暂存
Зафиксировано:
Использованиеgit commitПосле того как команда фиксирует изменения из области подготовленных изменений в локальном репозитории, эти изменения записываются, и статус файла возвращается к отслеживаемому.
git commit -m "Added newfile.txt" # 提交更改 git status # 查看状态,工作目录干净Другие расширения