只是说你有一个开发分支,其中包含100个无意义的提交/日志消息。是否可以将dev分支合并到master / head并且在master分支中只有一条日志消息?即头/主分支上的一条日志消息可能会说“添加功能XYZ”
似乎有两个正确的答案。使用squash可以隐藏主分支中的所有提交,使用交互式rebase可以隐藏主分支中历史的选定部分。
答案 0 :(得分:9)
git-merge --squash
后跟git commit
应该这样做。
答案 1 :(得分:7)
听起来git rebase --interactive
就是你所需要的。 Git Book This section解释说:
您还可以以交互方式进行折扣。 这通常用于重写你的 在推送之前拥有提交对象 某处。这是一种简单的分裂方式, 之前合并或重新提交提交 与他人分享。你也可以 用它来清理你的提交 在应用它们时从某人那里撤走 本地。