Что подразумевается под отслеживаемым и не отслеживаемым в git?

Изучаю гит по видеоурокам. Использую оригинальный дистрибутив с офф сайта - Git Bash.
Все было понятно, до определенного момента.
В начале была команда
git add file1.txt
Мы сказали гиту отслеживать изменения в этом файле.

Далее рассматривались команды
git commit
git log
git diff
Мы работали с этими файлами - коммитили, смотрели историю, смотрели разницу между файлами.
тут всё понятно.

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

Например:
У команды git reset есть 3 режима
--soft
--mixed
--hard
--soft откатывает проект до указанного коммита и переводит все коммиты после указанного коммита в отслеживаемую зону.
--mixed откатывает проект до указанного коммита и переводит все коммиты после указанного коммита в не отслеживаемую зону.


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

Лично я понимал, что сначала мы указываем гиту объекты (git add файлы, папки и т.д.) и с ними работаем.
То есть для нас есть только отслеживаемая зона, отслеживаемые папки и файлы.
Всё что не отслеживается просто "лежит рядом".

Но тут я вижу, что гит начинает работать с не отслеживаемой зоной. Причем в 2х направлениях.
Если перевод чего либо в не отслеживаемую зону, можно трактовать как исключение из контроля (обратное действие команде add, исключить файл, стереть коммит), то перевод коммита в отслеживаемую зону - это вообще как?

Не могли бы вы мне объяснить, что тут имеется в виду?
Не было зон и они внезапно появились и элементарный материал с одной строкой кода стал непонятен.
  • Вопрос задан
  • 335 просмотров
Решения вопроса 1
dlnsk
@dlnsk
ПК Партнер 01.01 -> ПК Поиск -> IBM PC
Вы сейчас пересказываете какого-то странного блогера с его странными терминами. Думаю что никто не понимает что автор имел в виду под "зоной"...
Перестаньте смотреть какие-то странные видео, начните читать официальную книгу (на русском, с картинками) там все очень понятно. Ну или отпишитесь от этого блогера и найдите другого. :))
https://git-scm.com/book/ru/v2
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@vitalya2403
Сам искал ответ на этот вопрос, может кому то поможет. Подробный ответ нашел здесь:

https://git-scm.com/book/ru/v2/%D0%9E%D1%81%D0%BD%...

Файл CONTRIBUTING.md находится в секции «Changes not staged for commit» — это означает, что отслеживаемый файл был изменён в рабочем каталоге, но пока не проиндексирован. Чтобы проиндексировать его, необходимо выполнить команду git add. Это многофункциональная команда, она используется для добавления под версионный контроль новых файлов, для индексации изменений, а также для других целей, например для указания файлов с исправленным конфликтом слияния. Вам может быть понятнее, если вы будете думать об этом как «добавить этот контент в следующий коммит», а не как «добавить этот файл в проект».

Теперь, когда ваш индекс находится в таком состоянии, как вам и хотелось, вы можете зафиксировать свои изменения. Запомните, всё, что до сих пор не проиндексировано — любые файлы, созданные или изменённые вами, и для которых вы не выполнили git add после редактирования — не войдут в этот коммит. Они останутся изменёнными файлами на вашем диске.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы