【问题标题】:First Git Push Rejected第一次 Git 推送被拒绝
【发布时间】:2019-01-31 10:49:03
【问题描述】:

当我输入git push origin master 时,git 会显示以下错误消息:

To https://github.com/farrasdoko/RumahSakit.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/farrasdoko/RumahSakit.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

然后,我输入 git fetch origin , git merge origin master & git pull origin master 从 git 显示以下错误消息:

From https://github.com/farrasdoko/RumahSakit
 * branch            master     -> FETCH_HEAD
fatal: refusing to merge unrelated histories

怎么推??

【问题讨论】:

    标签: git github version-control push


    【解决方案1】:

    hint: Updates were rejected because the tip of your current branch is behind

    当这种情况发生时,您真正想做的是将origin/master 中的额外提交添加到您的分支中您自己的提交之前。 您可以使用rebase 命令来做到这一点:

    git rebase origin/master
    

    这会将origin 中的新提交拉入您的分支,然后在顶部添加您自己的新提交,以便您的提交是最新的。在变基时你可能会遇到一些冲突。当这种情况发生时,git 会停下来告诉你解决冲突;之后,您应该git add 受影响的文件,然后git rebase --continue。或者,如果您决定不知道如何处理该问题,您可以git rebase --abort,您的分支将返回到git rebase 命令启动之前的相同状态。

    git rebase 是一个强大的命令,它可以让你的分支快速混乱,所以要小心,但不要害怕。标准计算建议适用:如果您没有信心,请在做任何事情之前备份您的工作。幸运的是,很容易创建一个新分支作为备份 (git checkout -b my_backup_branch),然后切换回您的工作分支。

    【讨论】:

      【解决方案2】:

      两种方法。我假设您已经签出大师。

      1.

      git merge origin/master --allow-unrelated-histories
      

      解决冲突,然后

      git add -A .
      git commit -m "Commit message"
      git push origin master
      


      2.

      git pull -f origin master     //The -f flag stands for force
      

      【讨论】:

        猜你喜欢
        • 2017-03-01
        • 2013-01-17
        • 2018-10-24
        • 2014-02-01
        • 2014-06-04
        • 2017-01-09
        • 2021-09-22
        • 1970-01-01
        相关资源
        最近更新 更多