【问题标题】:Git: replace commit history of Master with the history of feature branchGit:将Master的提交历史替换为功能分支的历史
【发布时间】:2019-12-30 19:12:01
【问题描述】:

我是 Git 中交互式变基的新手,所以我创建了一个分支,我可以在其中压缩提交 (squash-branch),以防万一我毁了某些东西。我没有更改分支上的任何文件,只是更改了历史记录。我将分支合并到master,期望它会采用squash-branch 的提交新提交历史。

如何将master 的提交历史替换为squash-branch 的历史?换一种心情来说,我希望master 拥有squash-branch 的历史记录。

我已经尝试了两种用squash-history 强制覆盖master 的方法。 “我们的战略”和git branch -f master squash-branch

如果您需要更多详细信息,请通知!

谢谢!

【问题讨论】:

  • ...什么?他们有共同的历史吗?你的意思是你想rebase squash-branchmaster 上?或者是其他东西?你的意思是你只是在master的副本上练习,既然你已经成功了,为什么不在master上重新运行相同的过程呢?你会和其他人分享这段历史吗?
  • 我真的很想压缩master 上的提交并让squash-branch 安全地这样做。我想我只是希望有一种方法可以让我在squash-branch 上的历史更改为master,而无需在master 上再次重做同样的事情。但是,我可能错过了具有提交历史的分支的全部意义。你认为强制将squash-branch 推到origin master 可以做到这一点吗?

标签: git git-interactive-rebase git-history


【解决方案1】:

git reset 可以做到:

git checkout master
git reset --soft squash-branch

git-reset(1) 中的详细信息。

git reset [<mode>] [<commit>]

此表单将当前分支头重置为<commit> ...

【讨论】:

    猜你喜欢
    • 2018-03-11
    • 2015-07-24
    • 2015-04-17
    • 1970-01-01
    • 2011-11-08
    • 2021-09-03
    • 2017-12-08
    • 2020-04-18
    • 2017-09-11
    相关资源
    最近更新 更多