【问题标题】:git branch cleanup with squash for a pull request使用 squash 进行 git 分支清理以获取拉取请求
【发布时间】:2015-01-21 19:33:14
【问题描述】:

我想为我拥有的分支 (uglyCommitsBranch) 创建一个拉取请求,但它有很多提交消息我想挤进一个提交中。
为此,我认为需要执行以下步骤:

git checkout master
git pull
git branch newFeature
git push origin newFeature
git checkout newFeature

现在我需要从uglyCommitsBranch 中取出东西并将它们全部放入newFeature,然后推送到源代码进行代码审查。

我需要运行的下一个命令是什么?
我不确定如何运行 rebase 命令,并且害怕破坏 master

如果我目前在newFeature 分支上(从master 清除分支),接下来要完成的命令是什么?

【问题讨论】:

标签: git github


【解决方案1】:

你不需要这样做:

只需留在uglyCommitBranch 并执行interactive rebase:清理那里的提交,然后强制推送该分支:您的拉取请求(如果它在变基之前存在,则从该分支生成的 PR)将自行更新.
如果还没有拉取请求,你仍然可以push --force,只要没有其他人在处理uglyCommitBranch(因为它是你的分叉)。


话虽如此,如果你想留在newFeature分支,那么:

git merge --squash uglyCommitBranch

(如“How to use git merge --squash?”中所述)


或者自 2016 年 3 月起,您可以将“提交压缩”留给主要的 repo 维护者。
见“Github squash commits from web interface on pull request after review comments?”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-31
    • 2017-12-05
    • 1970-01-01
    • 2016-12-03
    • 1970-01-01
    • 2019-08-30
    相关资源
    最近更新 更多