git staging — область, отслеживаемая git, в которой находятся файлы еще не попавшие в commit.
staging является первым этапом на пути с компьютера разработчика в удаленный репозиторий, в котором хранится программный код.
Добавление файлов в git staging
В staging файлы добавляются командой git add. Имена файлов можно указывать передавая их в качестве аргумента или добавлять все файлы в каталоге. Для этого ставится точка или *.
git add somefile.txt
Когда команда корректно отрабатывает — никакого вывода в консоль нет.
git add перемещает файлы из working directory в staging. В staging подготавливается снапшот перед коммитом в общий репозиторий.
После добавления система контроля версий начинает отслеживать файл. Это можно увидеть в git status.
git status
On branch master
Initial commit
Changes to be committed:(use "git rm --cached ..." to unstage)
new file: somefile.txt
Пример вывода приведен на скриншоте:
Сейчас можно добавить другие файлы или somefile.txt повторно и в любое удобное время сделать коммит в репозиторий.
git status оказывает состояние staging, т.е. то, что подготовлено для коммита. После коммита по команде git push содержимое ветки отправится в удаленный репозиторий.
Удаленный репозиторий может быть в публичном доступен или может быть приватным. Публичные репозитории создаются обычно на github.
Читайте про создание репозитория на github
Приватные репозитории могут храниться в Gitlab и попадать туда в результате выполнения pipeline в Gitlab CI. При этом автоматизированно проводятся тесты кода, сборка бинарных файлов и прочие операции.
При отправлении кода в ветку master согласно сценарию деплоя код обычно запускается на серверах в production.