Оба шага git add
, которые вы идентифицируете, по сути, делают одно и то же, они просто имеют разные объяснения из-за своего маршрута прибытия.
git add
просто сообщает git, что предоставленный файл - это файл, который вы хотите иметь в его точной текущей форме (его содержимом) в репозитории контроля версий. В этот момент git сделает снимок файла (и сохранит примечание в своем индексе), чтобы он был готов к тому моменту, когда все ваши изменения в ваших файлах будут готовы и добавлены (т.е. собраны вместе в области подготовки), для ваш git commit
(с соответствующим сообщением; -).
Как только git будет уведомлен об этом файле (например, опция @ avh's -N
), он заметит (отследит) изменения в файле под видом различных команд (таких как git status
). Таким образом, позже вы должны явно указать git, когда вы больше не хотите, чтобы файл отслеживался (git rm <file>
), и вы можете продолжить редактирование файла (локально) после того, как вы add
отредактировали версию, которая будет в совершить. Почти очевидно (или, возможно, нет), вы можете git add
файл много раз, прежде чем принять окончательную версию.