git - 如何处理 git push 上的 "rejected"?

标签 git git-checkout

我有一个 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/

相关文章:

html - 我的 Gitlab 存储库中的 Web 访问 HTML 文件

perl - 构建 Qt5 Git/Perl - 路径

Git checkout 不恢复文件

git 克隆, "checking out files"阶段跳过

git - 通过 SSH 隧道连接到 gitosis 服务器

git - 我怎样才能在远程分支上获取最新信息?

c# - 如何从 C# 应用程序检索 git Commit Id?

git - 当我使用 git 将单个文件 check out 到不同位置时,如何保留行尾?

git - 获取 git 当前分支/标签名称

git - 为什么我不能从 Git 的工作目录中丢弃文件?