Основные операции 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                         # 查看状态,工作目录干净
Другие расширения