Git 挤压在合并来自单独分支的分支时提交
如何将fork中的分支合并到当前的Git 挤压在合并来自单独分支的分支时提交,git,branch,git-fork,squash,Git,Branch,Git Fork,Squash,如何将fork中的分支合并到当前的master,同时压缩提交,而不要求fork维护人员为我这样做 例如,如果我的项目位于acme/helloworld:master,分支位于coyote/helloworld:patch,并且patch分支有10个额外提交,如何在一次提交中合并coyote/helloworld:patch到acme/helloworld:master,而无需fork所有者的任何干预?如果只想在一次提交中合并 有几种方法可以执行此操作。例如,您可以使用一个名为git-rebase
master
,同时压缩提交,而不要求fork维护人员为我这样做
例如,如果我的项目位于
acme/helloworld:master
,分支位于coyote/helloworld:patch
,并且patch
分支有10个额外提交,如何在一次提交中合并coyote/helloworld:patch
到acme/helloworld:master
,而无需fork所有者的任何干预?如果只想在一次提交中合并
有几种方法可以执行此操作。例如,您可以使用一个名为git-rebase-i
使用rebase将打开一个交互式shell,它将帮助您将多个提交合并为一个提交,并将分支的头移动到主分支中的最新提交。例如,在您的情况下,可以使用以下命令
git checkout郊狼/地狱世界:补丁
这将打开一个文本编辑器,列出将要移动的所有提交
内容如下所示
为提交选择33d5b7a消息#1
为提交选择9480b3d消息#2
为提交选择5c67e61消息#3
此清单精确定义了执行重基后分支的外观。通过更改“拾取”命令和/或对条目重新排序,可以使分支的历史看起来像您想要的那样。例如,如果第二次提交修复了第一次提交中的一个小问题,您可以使用下面的fixup命令将其压缩为一次提交
为提交选择33d5b7a消息#1
修复提交的9480b3d消息#2
为提交选择5c67e61消息#3
当您保存并关闭该文件时,Git将根据您的指示执行重设基础
因此,它将重新设置基础,并在一次提交中合并提交。如果您只想在一次提交中合并 有几种方法可以执行此操作。例如,您可以使用一个名为git-rebase-i 使用rebase将打开一个交互式shell,它将帮助您将多个提交合并为一个提交,并将分支的头移动到主分支中的最新提交。例如,在您的情况下,可以使用以下命令 git checkout郊狼/地狱世界:补丁 这将打开一个文本编辑器,列出将要移动的所有提交 内容如下所示 为提交选择33d5b7a消息#1 为提交选择9480b3d消息#2 为提交选择5c67e61消息#3 此清单精确定义了执行重基后分支的外观。通过更改“拾取”命令和/或对条目重新排序,可以使分支的历史看起来像您想要的那样。例如,如果第二次提交修复了第一次提交中的一个小问题,您可以使用下面的fixup命令将其压缩为一次提交 为提交选择33d5b7a消息#1 修复提交的9480b3d消息#2 为提交选择5c67e61消息#3 当您保存并关闭该文件时,Git将根据您的指示执行重设基础
因此,它将重新设置基础,并将提交合并到单个提交中。
git checkout master;git合并补丁——挤压;git提交
或git签出-b补丁集成;git复位头~10--软;git提交;git签出主机;git merge patch_in_one@ElpieKay我在寻找一种方法,将所有提交合并到一个分支中,并将其压缩两个小时,你的评论就成功了。你一定要把它变成一个答案。git checkout master;git合并补丁——挤压;git提交
或git签出-b补丁集成;git复位头~10--软;git提交;git签出主机;git merge patch_in_one@ElpieKay我在寻找一种方法,将所有提交合并到一个分支中,并将其压缩两个小时,你的评论就成功了。你一定要把它做成一个答案。如果满意,请验证它并排名。如果满意,请验证它并排名