问题标签 [git-squash]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
46 浏览

git - 创建新分支后 Git 变基(壁球)

假设我有如下提交历史:

现在我结帐到 branch1 和 squash 提交bc进入 x。

我预计会发生这样的事情。

但是在 Branch1 上运行 git log 时,它显示:

在 Branch2 上运行 git log 时,它显示:

现在,即使我结帐到 branch2 和 squash bc它也不会生成,x而是生成其他一些提交哈希。

所以我的问题是,我如何正确压缩这两个提交,使其反映在所有分支中?

另外,一旦我已经这样做了,我该如何修复?

0 投票
1 回答
902 浏览

git - 樱桃选择一个压扁的提交

我有两个主要分支,staging并且master. 我有一些提交,我已经将这些更改推送到一个分支,说它xyz的基本分支正在暂存,并为分支创建了一个拉取请求staging。所有这些提交都被压缩成一个提交。

是否可以挑选这个压扁的提交并将这个樱桃挑选应用于从 开始的新分支master,这样我也可以创建相同的拉取请求到master分支。

0 投票
1 回答
96 浏览

github - 没有命令行界面的 GitHub 上的 Squash 提交

如何使用GitHub将我最后的 X 提交压缩为一个提交,仅使用浏览器在线,无需下载/安装/配置 git,克隆存储库,使用命令行工具在本地执行,然后提交并推送回来到 GitHub?

0 投票
1 回答
55 浏览

git - 如何执行一个分支到另一个分支的零星合并

我在一个分支上开发dev,每隔几周想将当前状态合并到一个分支staging中。看来我想得不够透彻,因为现在我想第二次这样做我遇到了冲突,因为最后一个共同祖先仍然是我分裂dev时的 - 而第一个差异被添加staging到一个单独的提交。

在这两种情况下,我都使用了 gitlab 合并请求,并选中了该squash commits框。

我的方法本质上是错误的,我需要改用不同的方法,还是有办法让它起作用?


如图:v_0.2合并失败。我想要做的是挑选特征 5-7,我希望 gitlab 能理解这一点,因为我已经合并了特征 1-4。但事实并非如此。

在此处输入图像描述


作为控制台输出:ffc9a2c是两个分支的最后一个共同父级(显然,那里发生的合并将该提交正确地作为新父级),之后我开始了我上面描述的合并方案。staging从那时起,你可以看到它的全部。我省略了大部分dev,因为它真的很长。

0 投票
2 回答
15552 浏览

git - 如何在 git 中将 7 个推送的提交压缩为一比一?

我已经尝试了多种方法来压缩我的远程 repo 提交,但没有做对。我想把它们全部压扁,做成一个。以下是提交列表。以下是我对上游的拉取请求的摘要(其中列出了 7 个提交)。我只想列出一个而不是 7 个。

在此处输入图像描述

0 投票
1 回答
186 浏览

git - 为什么我的回购在壁球提交后显示在上游后面?

我已经分叉了一个 repo,我提交并推送了新的更改,合并的更改来自在做 squash 之后的上游拉动。所以不应该显示

相反,它的显示

是不是很奇怪?
因为我已经合并了上游代码并将其与我的新代码一起提交。

0 投票
2 回答
157 浏览

git - 修复提交后 git 如何处理 squash 提交?

我正在使用具有大量提交的分支,并希望rebase在合并到master. 为了避免奇怪的冲突,我试图在可能的情况下对提交保持一定的顺序,但有时需要在长字符串中维护提交消息fixup。换句话说,我有类似的东西:

来自 squash 提交的消息是否仍会保留在第一个选择的提交中,或者它是否会执行类似 squash 'commit D' into 的操作,然后在“修复”到然后再进入commit C时最终丢弃提交消息?commit Ccommit Bcommit A

0 投票
0 回答
33 浏览

git - git squash 在另一个分支上(除了master)

我是新手,我从中git squash创建了一个新分支 ,然后做了很多更改并推送到分支。现在分支上有 8 个提交,我将所有 3 个提交压缩为单个提交,但是当我这样做时,它对我不起作用。请参阅我遵循的以下步骤:amasteraa

我对响应进行了一些更改,更新后的响应是:

之后,我保存了这个文件并更改了提交消息,但现在当我检查日志时仍然显示两个提交。

但是当我a从 github repo 检查到分支时,分支没有任何变化a,所以我做错了,谁能指导我。

0 投票
1 回答
195 浏览

git - 散列之前的壁球提交

我已经创建了一个快速启动 repo 并在其上构建了一个应用程序。快速启动 repo 包含约 30 个提交。比如说,他们回购的最后一次提交是,我的abcde第一次提交是,比如说,fghij. 我怎样才能压缩所有的提交,从 first 到abcde,以便在 之前只有一个大提交fghij

能否请您逐行解释。我不明白类似主题下的其他答案。

现在提交的示例历史树:

预期的提交历史树示例:

0 投票
1 回答
3566 浏览

git - git:如何压缩多个合并提交

我正在开发一个从上游分叉的 git 存储库。有一个我想实现的功能,我创建了一个新的分支uiTests并在那里进行了更改并提出了拉取请求。

PR 存在了一段时间,与此同时,其他一些 PR 被合并并出现了冲突。我在我的 fork 中解决了它们,最后有两个合并提交。

当我检查 git 日志时,列表顶部是这样的;

所以我想通过一次提交来压缩并更新70db4de884d5e4b64ef3a2c903f310c901dd68e2PR 5b7a827763c35a3605daed6c717004700582eedeef5dfc2f4af7431b2bc5efa356540bd616669706

欲了解更多信息,git log --oneline结果如下;

但是当我尝试时git rebase -i HEAD~3,控制台看起来像这样;

它没有向我显示合并提交。有关更多信息,以下是 Android Studio 的版本日志;

git 日志视图

我是否遵循正确的方法来压缩这些合并提交?还是有可能压扁这些提交?这种挤压合并提交对我来说有一段时间是个小问题。非常感谢任何帮助和提示!:)