Эта форма предназначена для просмотра изменений, которые вы поставили для следующего коммита относительно именованного <commit>. Как правило, вы хотите сравнение с последним коммитом, поэтому, если вы не дадите, по умолчанию будет HEAD. Если HEAD не существует (например, нерожденные ветки) и не задан, он показывает все поэтапные изменения. --staged является синонимом --cached.