我有一个 master 分支和一个 beta 分支。有一种push被拒绝的情况:
edit2:我在 branch master。
$ git push
Counting objects: 9, done.
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 669.81 KiB, done.
Total 6 (delta 2), reused 0 (delta 0)
To git@github.com:foobar/codedemo.git
a5fc71d..64430c1 master -> master
! [rejected] beta -> beta (non-fast forward)
error: failed to push some refs to 'git@github.com:foobar/codedemo.git'
通常我会 checkout 测试版,然后提取测试版,这可能会解决问题。
但是因为这是一个生产网站,所以我不能在这里 checkout 测试版。有什么方法可以在不检查的情况下 pull Beta 版吗?
由于这是一个生产站点,我不知何故被困住了。
编辑:代码也在另一个位置 checkout ,我可以从另一个位置做一些事情来解决这里的问题吗?其他位置没有问题。
Edit3:在公认的解决方案的帮助下,我可以在一段时间后完成,但我更喜欢没有第二个客户端的解决方案
最佳答案
您可以将 Beta 版作为其他分支推送,然后转到您可以检查它以解决它的地方。
git push origin beta:beta-temp
# on a different machine
git fetch
git checkout beta-temp
git rebase origin/beta # puts your new commits on top of the upstream
git push origin beta-temp:beta
git push origin :beta-temp # to delete it
关于git - 如何处理 git push 上的 "rejected"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1641015/