Добавить в корзинуПозвонить
Найти в Дзене

Git - процессы.

Рассмотрим порядок работы с файлами в Git на схеме. Working directory (рабочая директория) — это та папка, где лежат файлы, которые находятся под контролем Git. Staging area, или индекс, — область, где лежат файлы, выбранные для коммита. Возникает вопрос: почему нельзя добавлять все измененные файлы сразу в коммит? Такой процесс создан для удобства программистов. Дело в том, что во время разработки могут меняться и добавляться много файлов. Но это не значит, что мы хотим добавить все эти изменения в один коммит. Со смысловой точки зрения коммит — это логически завершенное изменение внутри проекта. Его размер бывает очень маленьким, например при исправлении опечатки в одном файле, а иногда и большим, например при внедрении новой функциональности. Главное в коммите — его атомарность, то есть он должен выполнять ровно одну задачу. Рассмотрим работу этих команд подробнее. Git может отслеживать файлы проекта только в том случае, когда они помещены под контроль версий. Для этого зайдите в ди
Оглавление

Флоу при работе с Git

Рассмотрим порядок работы с файлами в Git на схеме.

Working directory (рабочая директория) — это та папка, где лежат файлы, которые находятся под контролем Git.

Staging area, или индекс, — область, где лежат файлы, выбранные для коммита.

Возникает вопрос: почему нельзя добавлять все измененные файлы сразу в коммит?

Такой процесс создан для удобства программистов. Дело в том, что во время разработки могут меняться и добавляться много файлов. Но это не значит, что мы хотим добавить все эти изменения в один коммит.

Со смысловой точки зрения коммит — это логически завершенное изменение внутри проекта. Его размер бывает очень маленьким, например при исправлении опечатки в одном файле, а иногда и большим, например при внедрении новой функциональности.

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

Основные команды при работе с Git

  • — создать репозиторий,git init
  • — посмотреть статус репозитория,git status
  • — добавить в индекс (выбор файлов для коммита),git add <название_файла>
  • — файлы с индекса отправить в репозиторий.git commit -m 'message'

Рассмотрим работу этих команд подробнее.

Git может отслеживать файлы проекта только в том случае, когда они помещены под контроль версий. Для этого зайдите в директорию проекта и выполните команду инициализации, которая создаст репозиторий, — директорию .git, содержащую все необходимые для работы git-файлы:

git init

Чтобы посмотреть статус репозитория, наберите команду:

git status

Добавление в репозиторий происходит в два шага.

  1. Первым шагом выполняется команда подготовки файлов:git add <название_файла>
    Теперь файл находится в состоянии «подготовлен к коммиту» или, другими словами, файлы попадают в индекс.
  2. Делаем коммит:git commit -m 'initial commit'
    Флаг-m
    означает message, то есть описание коммита.
Для быстрой и ясной навигации по истории изменений делайте понятное и лаконичное описание коммита. Так будет проще вам и другим разработчикам разбираться, что происходит на проекте.

Флоу состояния файлов

При добавлении новых файлов и проверки статуса можно увидеть такое сообщение:

On branch main

No commits yet

Untracked files:
(use "git add <file>..." to include in what will be committed)
<название_файла>

nothing added to commit but untracked files present (use "git add" to track)

Git увидел, что в проекте появились новые файлы, о которых ему ничего не известно. Они помечаются как неотслеживаемые (untracked files). Git не следит за изменениями в таких файлах, так как они не добавлены в репозиторий.

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

-2

Staged — индекс, сюда переносятся файлы из untracked и modified. Если закоммитить файл, то он попадет в unmodified.

Modified — файл, который был изменен. Например, когда что-то дописали в коде.

Unmodified — мы уже сделали коммит, и файл сохранен в истории.

Файл unmodified не показывается в командеgit status
, пока не будет изменен. Git показывает только файлы untracked, modified и staged.