0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>После клонирования репозитория<em>hexlet-git</em>мы можем увидеть внутри него директорию<em>.git</em>и добавленные нами файлы. Посмотрим, что произойдет, если удалить один из файлов:</p>
1
<p>После клонирования репозитория<em>hexlet-git</em>мы можем увидеть внутри него директорию<em>.git</em>и добавленные нами файлы. Посмотрим, что произойдет, если удалить один из файлов:</p>
2
<p>Git сообщает, что файл был удален, и предлагает команды для восстановления или коммита изменений. Здесь стоит остановиться и немного погрузиться в то, как работает git. Откуда он вообще знает, что файл был удален? Ответ на этот вопрос вы узнаете в этом уроке.</p>
2
<p>Git сообщает, что файл был удален, и предлагает команды для восстановления или коммита изменений. Здесь стоит остановиться и немного погрузиться в то, как работает git. Откуда он вообще знает, что файл был удален? Ответ на этот вопрос вы узнаете в этом уроке.</p>
3
<h2>Как узнать статус репозитория</h2>
3
<h2>Как узнать статус репозитория</h2>
4
<p>Внутри директории проекта мы видим файлы проекта с одной стороны и директорию<em>.git</em>с другой.</p>
4
<p>Внутри директории проекта мы видим файлы проекта с одной стороны и директорию<em>.git</em>с другой.</p>
5
<p>Репозиторием является именно директория<em>.git</em>. Она хранит всю информацию о том, какие были изменения, а также сами изменения.</p>
5
<p>Репозиторием является именно директория<em>.git</em>. Она хранит всю информацию о том, какие были изменения, а также сами изменения.</p>
6
<p>А вот все, что находится снаружи, это так называемая<strong>рабочая директория</strong>(<em>working directory</em>). Эти файлы извлекаются из<em>.git</em>в момент клонирования.</p>
6
<p>А вот все, что находится снаружи, это так называемая<strong>рабочая директория</strong>(<em>working directory</em>). Эти файлы извлекаются из<em>.git</em>в момент клонирования.</p>
7
<p>Каждый раз, когда мы производим изменения в рабочей директории, Git сравнивает измененные файлы с файлами внутри<em>.git</em>, то есть их состоянием на момент последнего коммита. Если есть изменения относительно последней зафиксированной версии, то Git сообщает нам об этом в выводе команды git status.</p>
7
<p>Каждый раз, когда мы производим изменения в рабочей директории, Git сравнивает измененные файлы с файлами внутри<em>.git</em>, то есть их состоянием на момент последнего коммита. Если есть изменения относительно последней зафиксированной версии, то Git сообщает нам об этом в выводе команды git status.</p>
8
<p>В этом очень легко убедиться, если последовать совету Git в выводе выше и восстановить удаленный файл:</p>
8
<p>В этом очень легко убедиться, если последовать совету Git в выводе выше и восстановить удаленный файл:</p>
9
<p>Можно удалить все файлы в рабочей директории и потом без проблем их восстановить. Так мы достигаем важной цели - создаем возможность быстро восстановить последнюю версию кода, если внесенные изменения нас больше не устраивают.</p>
9
<p>Можно удалить все файлы в рабочей директории и потом без проблем их восстановить. Так мы достигаем важной цели - создаем возможность быстро восстановить последнюю версию кода, если внесенные изменения нас больше не устраивают.</p>
10
<p>Еще мы можем закоммитить их, если это нужно:</p>
10
<p>Еще мы можем закоммитить их, если это нужно:</p>
11
<p>Обратите внимание на важную деталь. Независимо от того, удаляем мы файл, добавляем или меняем, процедура выполнения коммита не меняется. После изменений всегда делается git add, который подготавливает изменение к коммиту (а не добавляет файл). После этого выполняется коммит.</p>
11
<p>Обратите внимание на важную деталь. Независимо от того, удаляем мы файл, добавляем или меняем, процедура выполнения коммита не меняется. После изменений всегда делается git add, который подготавливает изменение к коммиту (а не добавляет файл). После этого выполняется коммит.</p>
12
<p>Кстати, у Git есть команда git rm, которая объединяет в себе удаление и подготовку к коммиту:</p>
12
<p>Кстати, у Git есть команда git rm, которая объединяет в себе удаление и подготовку к коммиту:</p>
13
13