git 使用 squash 为拉取请求清理分支
git branch cleanup with squash for a pull request
我想为我拥有的分支 (uglyCommitsBranch
) 创建拉取请求,但它有很多提交消息,我想将其压缩到一个提交中。
为此,我认为需要执行以下步骤:
git checkout master
git pull
git branch newFeature
git push origin newFeature
git checkout newFeature
现在我需要从 uglyCommitsBranch
中取出东西并将它们全部放入 newFeature
,然后推送到 origin 进行代码审查。
我需要执行的下一个命令是什么运行?
我不确定如何 运行 变基命令并且害怕破坏 master
。
如果我目前在 newFeature
分支(清理分支 master
),下一个命令是什么?
您不需要这样做:
只需留在 uglyCommitBranch
并执行 interactive rebase:清理你在那里的提交,然后强制推送该分支:你的拉取请求(如果它在 rebase 之前存在,则由该分支)将自行更新。
如果还没有 pull request,你仍然可以 push --force
只要没有其他人在 uglyCommitBranch
上工作(因为它是你的 fork)。
也就是说,如果您想留在 newFeature
分店,那么:
git merge --squash uglyCommitBranch
(如“How to use git merge --squash
?”中所述)
或者自 2016 年 3 月起,您可以将 "commit squashing" 留给主要的回购维护者。
参见“”。
我想为我拥有的分支 (uglyCommitsBranch
) 创建拉取请求,但它有很多提交消息,我想将其压缩到一个提交中。
为此,我认为需要执行以下步骤:
git checkout master
git pull
git branch newFeature
git push origin newFeature
git checkout newFeature
现在我需要从 uglyCommitsBranch
中取出东西并将它们全部放入 newFeature
,然后推送到 origin 进行代码审查。
我需要执行的下一个命令是什么运行?
我不确定如何 运行 变基命令并且害怕破坏 master
。
如果我目前在 newFeature
分支(清理分支 master
),下一个命令是什么?
您不需要这样做:
只需留在 uglyCommitBranch
并执行 interactive rebase:清理你在那里的提交,然后强制推送该分支:你的拉取请求(如果它在 rebase 之前存在,则由该分支)将自行更新。
如果还没有 pull request,你仍然可以 push --force
只要没有其他人在 uglyCommitBranch
上工作(因为它是你的 fork)。
也就是说,如果您想留在 newFeature
分店,那么:
git merge --squash uglyCommitBranch
(如“How to use git merge --squash
?”中所述)
或者自 2016 年 3 月起,您可以将 "commit squashing" 留给主要的回购维护者。
参见“