【问题标题】:How can I remove merged commit logs?如何删除合并的提交日志?
【发布时间】:2021-08-30 23:42:17
【问题描述】:

蓝线是feature 分公司,红线是develop 分公司。 如您所见,develop 分支已合并到 feature 分支的中间。
并且开发分支的日志都包含在特性分支中。
如下所示

8191985 [feature] log5
62e338b [feature] log4
713d596 [feature] log3
ba94b24 Merge branch 'develop' into feature
bd751e9 [develop] log2
bec7f92 [develop] log1
7beb908 [feature] log2
5c1d36d [feature] log1

如何清理开发分支的日志?
当我在下面这样做时,它们并没有很好地工作..(发生冲突)

> git checkout feature
> git rebase develop

我必须考虑什么?

【问题讨论】:

  • 保留所有蓝点对您来说重要吗 - 即维护功能分支的所有提交?或者您可以将其压缩为单个功能提交
  • 你能更详细地描述一下你所说的“清理”是什么意思吗?你想从feature 中完全删除develop 的提交吗?将feature 的提交组合在develop 之上? ... ?
  • @LeGEC 我想在我的feature -> develop PR 上删除develop 的提交日志。
  • @JoonT :“删除日志”是否也意味着“删除从开发中集成的所有代码”?
  • @LeGEC 哦,对不起。我把你弄糊涂了。我只想合并壁球。

标签: git merge rebase


【解决方案1】:

问题是你想达到什么目的。

将所有提交保留在feature 分支上,仅在develop 分支上进行变基

在这种情况下,您做得完全正确。您将 feature 分支重新设置在 develop 分支之上,您必须解决所有冲突。

feature 分支压在develop 分支之上

在这种情况下,您可以通过以下方式避免解决冲突:

git checkout feature
git reset develop
git add .
git commit -m "All my feature changes squashed together"

【讨论】:

  • 我不明白为什么我必须解决develop..之间的所有冲突?因为develop分支已经被merge T.T(first solution)
  • 我假设当您将开发合并到功能分支时 - 您遇到了冲突并解决了它们。所以现在如果你想rebase分支,你需要再次解决同样的冲突
  • 是的,我确实解决了它们。但现在冲突不止于此。也许我做错了什么。我会用你的解决方案解决它。谢谢!
猜你喜欢
  • 2015-10-19
  • 1970-01-01
  • 1970-01-01
  • 2021-04-20
  • 2021-04-14
  • 2016-06-27
  • 2012-09-02
  • 1970-01-01
  • 2014-10-02
相关资源
最近更新 更多