【问题标题】:I did a git push --force and now my git is crazy我做了一个 git push --force 现在我的 git 疯了
【发布时间】:2020-11-06 13:14:54
【问题描述】:

我无法将我的提交推送到原点,然后我做了一个“git push origin develop -f”。问题是我的头脑是 3 次提交提前起源,我不能推它,因为它说一切都是最新的。如何在不丢失更改的情况下处理它?

【问题讨论】:

  • 您有未提交的更改,因此不会推送。运行git status 以查看是否已按您的意愿上演,然后在准备就绪时运行git commit
  • 我没有看到-f 在该屏幕截图的推送中,但我确实看到了pull 报告的致命错误,它表示cherry-pick 操作正在进行中。你已经解决了吗?
  • 我在打印之前使用了力,这是我的 git 状态,没有什么可提交的:pastebin.com/jUksmauR
  • git status 告诉我们:You are currently rebasing branch 'develop' on '119d09a'. 所以你必须完成你的变基或中止它,然后你应该再次有一个干净的状态。 (拉的时候有defaults to rebase的设置吗?)

标签: git gitlab


【解决方案1】:

这两个命令有细微的差别:

  • git pull origin develop 将从origin 获取远程develop 分支并将其合并到您的活动本地分支
  • git push origin develop 将采用您的本地 develop 分支不是您当前的分支),并将其推送到其远程分支。

在您的情况下,正如 git log 正确显示的那样:developorigin/develop 已经在同一个提交中,因此您的 git push 上的 Everything up-to-date 消息(即使带有 -f 标志), 显然,您还有一个未解决的 cherry-pick 待处理,因此 git 不会启动您的 git pull 命令的 merge 部分。


看起来你还处于其他事情的中间:

  • git 提到了一个正在进行的cherry-pick(你有没有在你运行的git cherry-pick 命令上修复冲突?),
  • 您的git log 表明您当前处于分离的 HEAD 状态

所以你可能需要在继续之前解决这个问题。

运行git status,它应该可以让您了解正在发生的事情,以及您是否确实在挑选樱桃。


[edit] 原来正在进行的操作是一个变基。首先完成变基。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-01
    • 2021-05-11
    • 2014-06-19
    • 2014-11-11
    • 1970-01-01
    • 2021-11-28
    • 1970-01-01
    相关资源
    最近更新 更多