Era*_*ray 1 svn git github pull-request
我正在 GitHub 上使用我们公司应用程序的一个分支。我们有一个开发分支,我们正在从开发创建新分支来处理类似的工作,feature/new-feature并在工作完成后创建对原始存储库的拉取请求。当然,在创建 PR 之前要进行变基。
变基后,来自不同开发人员的一些提交(commitA和commitC)合并到我的分支。现在在我的 PR 中,这些提交也列为文件更改。并且与开发有冲突。
很快,我的 PR 的提交列表是这样的:
commitA <---this commmit is different developers and shouldn't be listed here
commitB
commitC <---this commmit is different developers and shouldn't be listed here
...
如何从我的 PR 中删除这些提交?这些提交(commitA 和 commitC)也在开发分支上。
我的分支应该只有提交 B,commitA 和 commitC 属于开发分支,而不是我的分支。
您可以在交互模式下执行 Git rebase,然后有选择地删除您不想要的提交A。C假设您想在变基期间查看最后 5 次提交,您可以执行以下操作:
git rebase -i HEAD~5
Run Code Online (Sandbox Code Playgroud)
这将打开一个编辑器,其中包含如下所示的文件:
pick dl4mn23 commitA comment
pick 47kmeu6 commitB comment
pick k39fn39 commitC comment
pick lsw42fg commitD comment
pick mk837dc commitE comment
Run Code Online (Sandbox Code Playgroud)
要删除A和C提交,您只需删除相应的行即可:
pick 47kmeu6 commitB comment
pick lsw42fg commitD comment
pick mk837dc commitE comment
Run Code Online (Sandbox Code Playgroud)
保存文件并退出编辑器,这将开始变基。您可能必须解决合并冲突。完成变基后,您可以验证您是否拥有所需的历史记录git log。
另请注意,由于您重写了该分支的历史记录,因此您必须通过以下方式将其强制推送到远程:
git push origin feature --force
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
444 次 |
| 最近记录: |