是否可以在与主分支 merge 之前将分支上的提交压缩为单个提交?我认为这将是一个相当常见的场景,但也许我没有使用正确的搜索词。
我会更详细地解释这个场景。我经常想在分支中进行更改时进行许多本地提交,以确保我拥有全面的更改历史记录。但是一旦完成分支中的更改,当我 merge 到 main 时,我想将分支上的提交减少到一个,然后将其 merge 到 main。我确实了解 Git 中的提交成本低廉,但在某些情况下,我可能更愿意这样做。
* merge to main
|\
* | commit 2 on main
* | commit 1 on main
| * commit 2 on branch
| * commit 1 on branch
|/
* branch from main
看起来像
* merge to main
|\
* | commit 2 on main
* | commit 1 on main
| * commit on branch (branch commits flattened to one)
|/
* branch from main
我是 git 的新手。如果我在使用术语时犯了错误,我深表歉意。
最佳答案
我建议学习使用交互式 rebase ,但如果你觉得它太复杂,你可以简单地使用
git reset --soft <diverging-commit>
在不更改索引的情况下撤消所有提交到 fork 点,并且
git commit -s
对所有更改进行一次提交。
关于git - 展平分支上的提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11724666/