Ответ
Файлы, добавленные в индекс (staging area), готовы к фиксации в следующем коммите. Проверить их можно несколькими командами:
1. Основная команда git status:
git status
Вывод будет содержать раздел "Changes to be committed", в котором перечислены staged-файлы.
On branch main
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: src/Main.java
new file: src/utils/Helper.java
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
modified: README.md
2. Просмотр изменений в staged-файлах:
# Показать diff (разницу) для всех файлов в индексе
git diff --staged
# или
git diff --cached
# Показать diff для конкретного staged-файла
git diff --staged src/Main.java
3. Использование низкоуровневых команд (для скриптов):
# Список staged-файлов в machine-readable формате
git diff --staged --name-only
# src/Main.java
# src/utils/Helper.java
В программировании (например, с использованием JGit):
// Пример на JGit: добавление файла в индекс
try (Git git = Git.open(new File("/path/to/repo"))) {
// Добавить файл в индекс (stage)
git.add().addFilepattern("src/Main.java").call();
// Получить статус
Status status = git.status().call();
// Получить список staged-файлов
Set<String> stagedFiles = status.getAdded(); // Новые файлы
stagedFiles.addAll(status.getChanged()); // Изменённые файлы
System.out.println("Staged files: " + stagedFiles);
}
Важно: git add перемещает изменения из рабочей директории в индекс. git commit фиксирует состояние индекса.