假设我在 git 中从 master 分支了一个功能分支。现在我对这个分支进行了一些更改,我认为它已经为 master 分支做好了准备。所以我推送到远程存储库并使用 github UI 从我的功能分支向主分支发出拉取请求。
现在,由于拉取请求中的反馈,我需要更改我的功能分支中的一些内容。我现在将更改作为新提交提交并推送它的简单选项。如果稍后合并分支,我的功能将拆分为多个提交。
如果我想避免多次提交,有哪些可能性?我看到以下可能性:
- 使用
git commit --ammend
并将更改附加到当前提交 - 使用
git rebase -i
并将更改压缩到一个提交中
这两种解决方案都有一个大问题:没有push -f
.
问题:
- 这个工作流程有什么问题吗?汇总提交是否错误,我应该将它们作为单独的提交简单地保留吗?
- 如果没有,可以在这里使用
push -f
吗? - 如果是,我怎样才能确保我没有做任何非常糟糕的事情?我可以以某种方式将影响仅限于我的远程分支而不影响其他任何东西吗?销毁自己的特性分支还不错,但是销毁master就不好了。
- 有没有其他可能避免的
push -f
?