- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何检查单个提交是否已应用于特定分支?
以 git-cherry
的文档为例:
$ git log --graph --oneline --decorate --boundary origin/master...topic
* 7654321 (origin/master) upstream tip commit
[... snip some other commits ...]
* cccc111 cherry-pick of C
* aaaa111 cherry-pick of A
[... snip a lot more that has happened ...]
| * cccc000 (topic) commit C
| * bbbb000 commit B
| * aaaa000 commit A
|/
o 1234567 branch point
$ git cherry origin/master topic
- cccc000... commit C
+ bbbb000... commit B
- aaaa000... commit A
我如何知道
cccc000
与
- cccc111
具有相同的内容而无需处理整个树?这可能吗?
git-cherry
依赖于
补丁内容 (diff) ,这是问题的关键。
最佳答案
git log
有一个 --cherry-mark
添加有关对称差异信息的选项(又名“3 点运算符”A...B
)
尝试运行:
git log --oneline --graph --boundary --cherry-mark master...topic
您应该会看到以
+
为前缀的唯一提交(或
*
当
--graph
选项打开时),并且提交出现在两侧,前缀为
=
.
git patch-id
计算cherry-pick/rebase 使用的结果。
git patch-id
期待 STDIN 上的补丁(由
git show
或
git diff
生成):
$ git show <commit-ish> | git patch-id
<hash for patch> <hash of input revision, if it can determine a revision>
例如:您可以查看
patch-id
A...B
中所有单个提交的 s :
git rev-list origin/master...forkpoint | while read sha1; do
git show $sha1 | git patch-id
done
您可以在脚本中使用此结果,以更明确地打印提交的链接方式。
关于git - 单个丢失提交的 git-cherry 等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62534666/
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、
我是一名优秀的程序员,十分优秀!