对于 Ruby on Rails 项目拉取请求,git 推送到我的分叉失败



我进行了修复和测试,git commit -a更新了我的分支,现在我正在尝试推送到我之前所做的GitHub分叉:

vagrant@rails-dev-box:~/rails$ git push mine my_fix
Username for 'https://github.com': myusername
Password for 'https://myusername@github.com':
To https://github.com/myusername/rails.git
 ! [rejected]        my_fix -> my_fix (non-fast-forward)
error: failed to push some refs to 'https://github.com/myusername/rails.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again.  See the
'Note about fast-forwards' section of 'git push --help' for details.

我猜这个问题的原因是分叉有点过时(也许一周)。我已经对叉子进行了其他推动,尽管我不想失去。我在这里做什么?

我认为您的分支不是最新的,因此您需要提取最近的更改,然后将更改推送到远程。

    $git pull --rebase branch_path
    $git push remote_name branch_name

在本地master分支上时:

  1. 您需要将导轨/导轨添加为上游: git remote add upstream git://github.com/rails/rails.git
  2. 现在,使用变基
  3. 拉动(而不是合并,因为如果您变基,将更容易跟上轨道/轨道上的更新) git pull --rebase upstream master
  4. 将更改推送
  5. 到主节点(您需要强制推送,但要小心并确保对更改没问题,因为此操作后以前的更改将更难恢复) git push --force origin master

你的(Github)分支对上游变化一无所知

消息状态清晰

合并远程更改

即 - 在您的 Github 存储库中,您有不在本地存储库中的变更集

相关内容

  • 没有找到相关文章

最新更新