当git push失败并显示"本地版本过旧"时,我该怎么办?

4

我相信这应该是一个相对简单的问题,但是我不确定为什么我的GitHub推送失败了。

目前看起来像这样:

$ git push origin master
To git@github.com:user_name/project_name.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:user_name/project_name.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again.  See the 'Note about
fast-forwards' section of 'git push --help' for details.

而且:
$ git remote show origin
* remote origin
  Fetch URL: git@github.com:user_name/project_name.git
  Push  URL: git@github.com:user_name/project_name.git
  HEAD branch: master
  Remote branch:
    master tracked
  Local ref configured for 'git push':
    master pushes to master (local out of date)

此外,当我尝试进行 git pull 操作时:
$ git pull
You asked me to pull without telling me which branch you
want to merge with, and 'branch.master.merge' in
your configuration file does not tell me, either. Please
specify which branch you want to use on the command line and
try again (e.g. 'git pull <repository> <refspec>').
See git-pull(1) for details.

If you often merge with the same branch, you may want to
use something like the following in your configuration file:

    [branch "master"]
    remote = <nickname>
    merge = <remote-ref>

    [remote "<nickname>"]
    url = <url>
    fetch = <refspec>

See git-config(1) for details.

我做了什么导致了这种状态...我应该怎么做才能修复它?
1个回答

6
从远程拉取
git pull origin master

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接