我有一个本地分支,我们正在使用带有拉取请求的 git-flow,我希望在收到 PR 反馈后压缩一些提交。
我怎样才能将我所有的提交(例如来自 PR 的)压缩到同一个分支中?
我想它会是这样的:
git checkout master # For master
git pull # Get all branches up-to-date
git checkout feature1 # Checkout the branch
git checkout -b feature1_squash # Make a copy of the branch
git branch -D feature1 # Delete original branch
git checkout master # (?) Branch off latest master for safety
git checkout -b feature1 # Make new (empty) original branch
git merge --squash feature1_squash # Merge with squash into it
git push -f feature1 # Push, force will be required
但我不确定。
有了这么多步骤,使用一个函数将它们捆绑在一起并只需将分支名称作为参数传递似乎也是一个很好的例子。当然,自动化意味着确保处理错误、异常、边缘情况等。
我不想使用交互式 rebase,因为对于我训练的新手来说,这有点棘手。我也不想知道提交的数量,我只想完成这个分支上存在的所有提交。