Те, що говорить вам статус, - це те, що ви стоїте за викликом, origin/master який називається місцевим номером вашого місцевого репо . У такому випадку, ця подія відбувається, щоб відслідковувати гілку в якомусь віддаленому, названому origin, але статус нічого не говорить вам про гілку на віддаленому. Він розповідає про ref, який є лише ідентифікатором комісії, який зберігається у вашій локальній файловій системі (у такому випадку це, як правило, у файлі, який називається .git/refs/remotes/origin/masterу вашій місцевій репортажі).
git pullробить дві операції; спочатку він робить a, git fetchщоб бути в курсі комісій у віддаленому РЕПО (який оновлює origin/masterпосилання у вашому локальному репо), потім робить це git mergeдля об'єднання цих комісій у поточну гілку.
Поки ви не зробите цей fetchкрок (самостійно чи через нього git pull), ваше місцеве репо не може знати, що є додаткові комісії вгору за течією, і git statusлише дивиться на ваш місцевий номер origin/master.
Коли git statusйдеться про оновлення, це означає "в курсі гілки, яку відслідковує поточна гілка", що в даному випадку означає "в курсі місцевого виклику origin/master". Це тільки прирівнюється до "оновленого стану зі статусом висхідного потоку, який було отримано останній раз, коли ми зробили fetch", що не є "актуальним з останнім статусом живої лінії вгору за течією".
Чому це працює саме так? Що ж, fetchкрок - це потенційно повільна і дорога мережа. Дизайн Git (та інших розподілених систем управління версіями ) полягає у тому, щоб уникнути мережевих операцій, коли це не потрібно, і це абсолютно інша модель для типової системи клієнт-сервер, до якої звикли багато людей (хоча, як зазначено в коментарях нижче, концепція Git "гілки віддаленого відстеження", яка викликає плутанину тут, поділяються не всіма DVCS). Цілком можливо використовувати Git офлайн, без підключення до централізованого сервера, і вихід git statusвідображає це.
Створення та перемикання гілок (і перевірка їх стану) в Git, як передбачається, буде легким, а не тим, що виконує повільну мережеву роботу до централізованої системи. Припущення при розробці Git та його git statusрезультатах полягало в тому, що користувачі розуміють це (занадто багато функцій Git має сенс, лише якщо ви вже знаєте, як працює Git). З прийняттям Git партіями та безліччю користувачів, які не знайомі з DVCS, це припущення не завжди справедливо.