Во-первых, вы неправильно интерпретируете вывод git status
.Это не говорит вам, что ваши изменения исчезли.Это говорит вам о том, что ваш текущий индекс и дерево работы не изменились относительно вашего последнего коммита - и это просто потому, что вы зафиксировали свои изменения.
Чтобы увидеть, сохраняются ли ваши изменения, вы должны использовать что-то вродеgit show
(чтобы увидеть изменения текущего коммита относительно предыдущего коммита) или git log -p
(чтобы увидеть текущую историю изменений в текущей истории).
Так что да, ваш первый толчок не удался, но это толькоозначает, что вам все еще нужно выполнить правильную команду push
.Полное сообщение об ошибке из-за сбойной команды будет выглядеть следующим образом:
fatal: The current branch foo has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin <branch-name>
, где <branch-name>
- имя вашей ветви.
Причина, по которой git push origin master
говорит, что все обновлено, заключается в том, что выНе нужно вносить изменения в master
.Если вы хотите добавить изменения в master
, а затем отправить их на пульт на master
, то самым простым способом будет объединить их с master
локально, и тогда git push origin master
будет работать.
Но если вы просто хотите, чтобы пульт ДУ узнал о вашей ветке (хотя он по-прежнему отделен от master
), тогда вы можете использовать git push --set-upstream origin <branch-name>