问题标签 [git-cherry-pick]
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.
git - Git提交范围中的“A..B”(双点)与“--right-only A...B”(过滤的三点)?
比较Git 提交范围中的双点“..”和三点“...”有什么区别?,一个更常见的有用问题。
我想澄清以下是否产生与以下相同的提交集git log A..B
:
他们似乎是更迂回的方式来完成同样的事情。
最初的动机是更深入地理解这些命令的含义,其中涉及忽略已经挑选的提交:
这个问题的延伸是问为什么需要对称差异(即三点)来进行这种“单面”的樱桃挑选消除。例如,要找到 B 上的唯一提交,包括对樱桃挑选的更正,不应该做一些简单的事情
我想这是因为 git 在过滤掉所有带有A..B
. (也就是说,在这个假设的命令中,git 在尝试应用挑选逻辑之前会丢弃与 A 相关的任何内容。)
git - 在 git 中管理已修补的工作区而不共享补丁
我将 git 与 SVN 一起使用,并且我有一个我不想通过 dcommit 推送的提交,但我需要进行本地开发。
我现在的做法是
在工作分支中,在 git-svn 标记之后的提交有一个包含mypatch
在那之后的提交,这是我实际为更改集所做的工作。
我想知道的是是否可以在分支????
之后指定为第二次提交。这样我就不必自己查看日志并找到修订版。git-svn
work
git - Git Cherry-Pick 和冲突
有两个不同的 git 分支。在一个开发中(Branch1)。
在其他分支中,一些 PoC 工作正在进行(Branch2)。现在,我想挑选从 Branch1 到 Branch2 的更改,以便 Branch2 是最新的。
现在,在挑选 4 或 5 个更改之后,我遇到了一些合并冲突,我无法继续进行进一步的挑选。
是否,我需要在进行下一个樱桃挑选之前解决所有冲突,或者我可以以某种方式推迟冲突解决,直到我挑选所有更改(并一起解决所有冲突)?
此外,在这种情况下是否建议进行樱桃挑选或分支合并?
git - Git:如何在不导致合并提交的情况下合并上游更改?
我有(提交按字母顺序创建)
有没有办法让我的topic
分支看起来像
不引入合并提交?
通常我会做
但是因为Y
and是在andZ
之后提交的,所以快进是行不通的。W
X
我怀疑一些聪明的变基或樱桃采摘可能会起作用,但我无法理解它:{
git - 我可以'git cherry-pick' 并让 'git log foo..bar' 识别它?
背景:我有两个分支,master 和 stable,master 上有许多不稳定的提交。我想挑选一些稳定的提交,然后可以git log --merges-only stable..master
用来查看剩下的内容。
但是,如果我只是挑选,git 会将它们视为两次提交,因此“git log”命令无济于事。例如,鉴于此:
然后,我希望能够看到哪些提交是未来挑选主人的候选者,理想情况下使用git log
,但它并没有真正回答我的问题:
但是,TIL 关于git cherry
:
其中以“+”为前缀的条目是未来樱桃采摘的候选者。
git - git-cherry 中的“樱桃”是什么意思?
git-cherry中的樱桃这个词是什么意思?
除了水果,我只出现在樱桃采摘表达式中的词(在 git 中也存在git-cherry-pick),这意味着选择性地采摘一些东西(对吗?)。
在我看来,樱桃中git-cherry
的樱桃与水果无关,也与樱桃采摘无关。
我是巴西人,所以英语的微妙之处有时并不那么明显。
git - 樱桃挑选产生的 Git 冲突
首先,我是 git 新手,但一直在吃文档和类似主题的类似问题(我将在帖子后面提到后一个问题)。
摘要:我正在从一个分支到另一个分支中挑选提交,在一个分支上进行提交然后尝试将它们合并在一起之后,我收到了冲突。请参阅下面的答案,了解我认为发生了什么。
场景:我有两个文件,一个在“主”分支上,一个在“辅助”分支上。“secondary”分支包含一些我们在master中不需要的文件,并且只被少数人使用,但是我们在“master”和“secondary”中拥有的大多数文件应该是一致的(master中的所有内容都是在中学,但中学的一切都不是在主人)。为此,我一直在提交在“master”中所做的更改,git checkout secondary
用于签出我的“secondary”分支,然后运行git merge master
. 不幸的是,我曾经提出过一次冲突,现在我的大脑正在搅动,试图弄清楚冲突是什么。
尝试的解决方案:起初,我认为这是因为我修改了“辅助”和“主”中的文件,我有。为了解决这个问题,我git cherry-pick [commit]
曾经将在辅助分支中所做的更改拉到主分支中。但是,我仍然无法将我的主分支合并到辅助分支中。Git 建议使用git add/rm
(大概是git add
or git rm
,尽管我花了一点时间才弄清楚)来标记我想要的那些。因此,我使用git rm 命令删除了“辅助”中的索引和工作树中的版本。之后,我回到我的“master”分支,重新提交我想要合并到“secondary”的文件,回到“secondary”,然后git merge master
再次运行。令我懊恼的是,冲突。
问:坦率地说,我想我不知道发生了什么。我认为git merge master
(在辅助分支上运行时)会采用 git master 提交中所做的所有更改并将这些更改放在辅助分支中。如果是这样的话,我不明白这个问题。我已经从辅助文件中删除了这些文件,并在 master.xml 中提交了我的更改。为什么我不能合并?我之前提到的后一个问题的解决方案表明,这可能是因为共同祖先包含其他东西,但我认为应该git cherry-pick [commit]
会解决这个问题。问题是 acherry-pick
没有创建新的合并库,因此即使在 之后有问题的文件相同cherry-pick
,它们可能仍与合并库不同?
对于这个问题的长度,我深表歉意,我非常努力地理解,并且觉得我在绕圈子。任何建议都会很棒。
编辑:我想我也很困惑,因为我不明白为什么 git 不允许我更改分支来尝试解决这个问题。当我git checkout secondary
现在尝试尝试并且cherry-pick
提交更改为次要时,我得到error: you need to resolve your current index first
. 我认为 git 不允许这种行为一定是有原因的,我只是不确定我明白它是什么。
git - 多次提交樱桃采摘
我在主分支中有 33 个提交,它们是网格化的。现在我需要整齐地维护记录。所以现在我已经创建了功能分支,我正在尝试将这 33 个提交分类到不同的功能分支中。那么是否可以一次选择多个提交以复制到相关的功能分支中?当我使用cherry-pick 命令尝试多次提交时,我也面临着它的冲突。
这里 A、B、C 是提交的哈希码。
git - git 从拉取请求中删除提交
我是开源贡献的新手,所以这是我的第一次尝试。
我开发了一个名为validates
:https ://github.com/kaize/validates/ 的库(gem)
我做了2个分支git checkout -b branch_name
:
https://github.com/kaize/validates/pull/20 & https://github.com/kaize/validates/pull/19,并为他们提交,但是,你可以看到 ip-validator pull request 有一次提交Blank validator
399cdd7
。
我需要做什么才能从这个拉取请求中删除它(并且仍然放在空白验证器分支中)?
请帮助我让世界变得更美好,伙计们!
git - git merge --no-commit vs git cherry-pick --no-commit
git merge --no-commit
和有什么区别git cherry-pick --no-commit
吗?
如果我在这两个命令之后提交,历史上有什么不同吗?