小编典典

合并(使用壁球)来自另一个分支的所有更改作为单个提交

all

在 Git 中,有没有办法将所有更改从一个分支合并到另一个分支,但同时压缩到单个提交?

我经常在一个单独的分支中开发一个新功能,并且会定期提交/推送——主要用于备份或将我正在处理的内容转移到另一台机器上。大多数提交都说“Feature xxx
WIP”或多余的东西。

一旦该工作完成并且我想将 WIP 分支合并回 master,我想丢弃所有这些中间提交,并且只有一个干净的提交。

是否有捷径可寻?

或者,从分支点开始压缩分支上所有提交的命令怎么样?


阅读 107

收藏
2022-03-08

共1个答案

小编典典

另一种选择是git merge --squash <feature branch>最后做一个git commit.

Git 合并

--squash

--no-squash

生成工作树和索引状态,就好像发生了真正的合并(合并信息除外),但实际上不进行提交或移动HEAD, 也不记录
$GIT_DIR/MERGE_HEAD以导致下一个 git commit命令创建合并提交。这允许您在当前分支之上创建一个提交,其效果与合并另一个分支相同(或者在章鱼的情况下更多)。

2022-03-08