【问题标题】:git mess -overwrite master with branch?git mess - 用分支覆盖master?
【发布时间】:2011-09-01 10:16:52
【问题描述】:

今天早上我陷入了正确的混乱,不得不创建一个分支来恢复我上次提交的内容。现在主分支一团糟,我唯一感兴趣的是这个带有恢复的新分支。如何强制 master 与恢复的分支相同?

【问题讨论】:

    标签: git github git-branch


    【解决方案1】:
    git checkout yourbranch
    git branch -f master yourbranch
    git checkout master
    

    如果yourbranch 不是master 的直系后代,这将需要强制更新分支,并可能导致克隆该存储库的其他用户出现问题(本质上是重写历史记录)。

    【讨论】:

    • 好的 - 所以分支是使用 tortoisegit 从日志中创建的,我选择了“在这个版本创建分支”
    • 这是否意味着它是直系后代?
    • 不,不是。如果您还没有在新分支上进行任何提交,那么恰恰相反:masteryourbranch 的后代。既然您在谈论“在分支中还原提交”,我认为您的分支已经分歧(使用gitk 进行验证)
    • 删除master,通过分支新分支并将其命名为master来创建一个新master会更好吗?
    • 不,它会产生相同的效果。 git 中的分支名称只是指向提交的标签。每个提交本身都指向其父项
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-04
    • 2013-05-04
    • 1970-01-01
    • 2011-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多