- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
因此根据我的理解,从一个分支到另一个分支的 cherry-picking 提交会创建一个全新的哈希签名,尽管实际的代码更改是相同的。我相信这是因为提交哈希签名取决于分支名称和提交时间等。
正因为如此,我被引导相信,如果在一个功能分支中修复了一个错误,而另一个开发人员需要这个修复,正确的解决方案是将这个修复挑选到它自己的分支中,然后将该分支 merge 到公共(public)分支两个特征分支都从中分支出来。然后应删除功能分支中的原始 bufix 提交,最后两个功能分支只需重新建立在现在包含错误修复的公共(public)分支之上。
但是,这似乎不是其他人使用 cherry-pick 的解释方式。我认为,如果从一个功能分支中挑选出一个提交到另一个功能分支,并且两者都被 merge 回 common,那么这些单独的提交会导致以下三种情况之一发生;
我对 cherry pick 的理解有误吗?
最佳答案
不,如果你从一个分支中挑选一个提交到另一个分支,它会得到一个不同的哈希,是的。不是因为分支名称,分支只是贴在提交上的便利贴。但是提交的整个历史记录是哈希计算的一部分,因此引入相同更改但在不同历史记录之上的两个提交本质上是引入相同更改的两个不同提交。
如果您将一个分支 rebase 到另一个分支,并且两个提交都引入了相同的更改(从一个分支到另一个分支), rebase 分支将不包含两个提交,而是 rebase 到历史记录的提交已经介绍过的内容将被排除在外,就像从未介绍过一样。
如果您 merge 分支,则不会因挑选而产生冲突,因为两个分支都进行了相同的更改,并且 Git 可以看到并正确处理。如果您对同一文件进行其他更改,这些更改可能会产生需要解决的冲突。
关于git - cherry-pick 错误修复正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39289336/
cherry 在 git-cherry 中是什么意思? ? 除了水果,我只在 cherry picking 表达式中看到这个词(在 git 中也有 git-cherry-pick ),这意味着有选择地
git cherry 开发功能/ABC - 1014d04c60efccb5d0b8762af1371831bb234b17 git cherry 命令正确显示提交 1014d04(标记为 -)可以在
我正在尝试使用 git rebase -i HEAD~19 删除提交列表。我过去曾成功地使用过此方法,但是当我尝试运行然后退出 vim 而不进行任何更改(:q!)时,我收到此错误: The previ
我有两个主要分支,staging 和 master。我有一些提交,我已将这些更改推送到一个分支,比如 xyz,其基础分支正在暂存,并为 staging 分支创建了 pull 请求。所有这些提交都被压缩
我正在尝试从我的主分支中挑选一批提交并将它们放入自己的分支中。我将我所有的提交哈希放在一个文件(称为 output.txt)中,我正试图将其通过管道传输到 git cherry-pick。这是我想出的
我在分支 10.57 中有某些提交,我想将其 merge 到另一个分支 10.58。 我通常会从 10.57 到 10.58 中挑选那些提交。 但是有一个小故障。某些文件在 10.58 中更改了它们的
我是 git 的新手,我确实了解 git cherry-pick 的工作原理,但这是我的问题: 最近,我的团队中有人更改了 master 中的目录结构,但没有更改另一个分支中的目录结构。 现在,当我在
据我所知,默认情况下,cherry-pick 命令接受一次提交并将其置于当前分支之上。是否可以 cherry-pick Git 中的提交并将其置于当前提交之下? 最佳答案 您始终可以在选择之后执行 r
我在大学里使用 git 大约几年了,老实说,我仍然不知道自己在做什么。 我不确定我的标题是否恰本地描述了我遇到的问题,但基本上,在开发特定功能时,我已经向 master 分支提交了一堆。现在我已完成开
我有两个具有相似架构的存储库: repo1: - file1 - file2 *(this file is non-existent in repo2) - folder - file3
我一直在尝试从一个分支中挑选一个特定的提交到另一个分支。假设我的历史是这样的: A - B - C - D (master) \ X - Y (feature)
我不太了解 cherry-pick。只需要清除 cherry-pick 命令在不同分支中生成相同提交的不同哈希码?实际上,我正在挑选不同分支中的哈希码。在这里我注意到它正在生成现有提交的不同哈希码。是
我想知道是否有办法将一个提交复制到另一个分支而不检查该分支。 例如,我有两个分支:master和 parallel_version . 我在 parallel_version分支,我在这些分支的常见文
给定以下内容: 1 1 4 2
假设,我对代码进行了许多更改,并且只需要提交其中的一些更改。 Mercurial 有没有办法做到这一点?我知道 darcs 有这样一个功能。 我知道hg移植可以在分支之间做到这一点,但我需要这样的东西
因此根据我的理解,从一个分支到另一个分支的 cherry-picking 提交会创建一个全新的哈希签名,尽管实际的代码更改是相同的。我相信这是因为提交哈希签名取决于分支名称和提交时间等。 正因为如此,
有没有办法在 Protractor/jasmine e2e 测试中挑选测试并创建套装。我知道 Protractor 在套件中接受通配符规范 (*.spec"),但我正在寻找规范文件中的几个测试并创建一
我需要将多个存储库(每个存储库都是从 TFS 转换而来) merge 为一个。为此,我使用 git cherry-pick 命令,它适用于某些提交,但不适用于其他提交: $ git status #
我的场景:我有一个分支 B,它是从分支 A 创建的。我在分支 B 中做了一些提交,我想将其挑选到分支 C(类似于 A)中。我不想将 B merge 到 C 中,因为我不想让 A 中的某些东西进入其中。
在从一个分支中挑选一些提交到另一个分支后,当稍后创建 pull 请求时我仍然看到提交。 例如,有一个 git 项目有两个分支:Dev 和 Release。 提交历史按以下顺序排列。 开发:a1、a2、
我是一名优秀的程序员,十分优秀!