当git push失败并且......“本地过时”时,我该怎么办?

时间:2010-11-21 01:33:11

标签: git github git-push git-pull git-remote

我确信这是一个非常简单的修复方法,但我不确定为什么我推送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 个答案:

答案 0 :(得分:6)

从远程拉

git pull origin master