【问题标题】:fast-forwards error after rebasing Git变基 Git 后快进错误
【发布时间】:2012-07-23 21:37:59
【问题描述】:

我在两台不同的计算机上使用我的 git 存储库。 我必须在桌面上运行一些测试,所以我创建了分支 X,然后我在 master 分支上做了一些工作,不得不重新设置 X 并压缩一些提交以创建补丁,然后我将更改强制推送到远程仓库。

之后我将 repo 克隆到我的笔记本电脑并进行了一些更改,但现在当我尝试推送它时抱怨快进并且我必须进行 git-pull(我不想这样做,因为我已经重新设置和再次压缩/编辑提交) 我想要的只是在原始存储库上的笔记本电脑上克隆存储库

所以问题是:强制推送是我唯一的选择吗?

【问题讨论】:

  • 这就是重写历史的结果。我不明白为什么人们这么喜欢git-rebase,这对我来说似乎是个糟糕的主意。
  • 嗯,如果您正在跟踪一个协作项目并且主分支经常更新或其他人的分支经常更新,那么您需要在他们的最新分支之上重新调整您的工作以确保您的东西是工作
  • 或者您可以将 master 与您的分支合并,以确保您的东西正常工作。事实上,最终结果是一样的,只是用git-rebase改变了历史,而且解决冲突可能更困难,更不用说你目前遇到的那种麻烦。您现在应该知道,您永远不应该将重新定位的分支推送到任何远程(因为这会破坏每个人的历史记录)

标签: git push rebase


【解决方案1】:

如果您希望远程计算机上的分支与笔记本电脑上的完全一样,并丢弃其中的任何差异:git push -f 正是这样做的。它将您本地分支的状态推送到远程仓库,并强制将远程分支设置为您刚刚推送的内容的尖端。远程分支包含的任何未在本地分支或其他地方引用的提交都将无法访问。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-25
    • 2019-07-30
    • 2011-12-07
    • 1970-01-01
    • 1970-01-01
    • 2012-12-26
    • 2012-02-15
    • 2019-10-01
    相关资源
    最近更新 更多