首先,您误解了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>