问题标签 [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.

0 投票
1 回答
461 浏览

git - Git在拉取请求分支上恢复樱桃选择而不在主控上恢复

我读到我可以使用 git revert 来撤消樱桃选择。我试图从项目的主分支中挑选一个提交,但我没有意识到我不想这样做。对我来说不幸的是,我已经推动了。

我害怕的是如果我使用 git revert,我不知道当 PR 被合并时它是否也会恢复 master 上的提交。

合并后如何在不弄乱主分支的情况下撤消樱桃选择?

这不是重复的,我只想在拉取请求分支上撤消它,不想在 master 上撤消它。

0 投票
2 回答
4123 浏览

git - 有什么好方法可以将作者在一个分支中的所有缺失提交挑选到另一个分支

假设我在 master 中做了很多更改。但是,我想挑选所有不在 branch:release-5 中的内容。

0 投票
0 回答
88 浏览

git - 如何仅提交两个任意提交到分支之间的更改?

我的问题是我在错误的分支上完成了开发,现在我想采取/挑选我的更改并将它们放在/重新设置在不同的分支上。我只想取已更改的文本行,仅此而已!

这里有一个例子来说明我的问题:

每个提交 (C1,...,C4) 都包含一个具有以下内容的文本文件:

我想将提交 C2 和 C3 之间的更改放在提交 C4 上。这意味着我想将已更改的行 (C) 放在提交 C4 上。新提交 C5 的文本文件应如下所示:

如果我在主分支上输入

我遇到了冲突并打开了以下视图:

这不是我想要的。我只想看看C2和C3之间的区别。所以它应该看起来像这样更容易合并:

这在 Git 中是否可行,或者是否有支持此工作流程的合并工具?它让事情变得容易多了。

0 投票
2 回答
7130 浏览

git - 还原后如何挑选提交?

我正在研究我的feature branch,经过审查,将其合并development到部署中。后来,一位同事决定做一个发布,并将他和我的合并到master. 在部署时,他意识到他的代码有问题并且被还原了master

在我们的分叉流程中,这意味着现在developmentmaster两者都被恢复了。

今天早上我来的时候,我像往常一样从开发中恢复过来,后来才知道有一个恢复。

现在我正在尝试cherry-pick从原来的工作开始,feature branch只是意识到由于还原它给了我“空提交消息”。

  1. 这是因为 revert 是我之前提交的镜像吗?
  2. 有没有办法恢复还原?(让我头疼)
  3. 既然我已经重新设置了基准,是否有任何方法可以让我的提交显示在差异中

任何帮助是极大的赞赏。

0 投票
1 回答
1426 浏览

git - 强制 git cherry-picks 更新嵌套存储库中未跟踪的文件

我目前正在使用一个最近为了封闭源而被分解的存储库 - 模块已从“主要”存储库移到他们自己的存储库中。

但是,在此分解之前仍有工作已提交,当时module1存储库仍是panel. 我的问题是处理分手前后的提交 - 我目前正在尝试cherry-pick提交对两者中的文件进行更改,panel以及module1在两个存储库都属于panel. (目录结构没有改变,只有git's view of the repositories)

当我在主存储库的目录中挑选时:

我可以看到我不希望将存储库中的文件删除或添加到主存储库,因为这只会撤消分离并合并存储库 - 但我正在尝试将提交的cherry-pick应用程序提交给两个文件中的文件基本和子存储库,而不合并两者。那么,有没有一种方法可以强制 git 以某种方式让单独的嵌套存储库中的文件成为主存储库的一部分,从而允许从存储库分离之前挑选提交?

0 投票
0 回答
70 浏览

git - 如何在git中部分合并分支

我的项目中有两个分支:

如何部分合并分支?假设将提交合并bcda2 - bcda4到master(我不需要合并提交bcda1),然后将提交合并bcda5-7到master?

我知道如何使用 git-cherry-pick 但我不想使用它,因为它会创建新的提交,并且将来合并分支会一团糟。我想保留当前的提交 ID 并只是部分合并分支。

我试着用

我删除了行pick bcda5 - pick bcda7,因此它合并了分支但bcda5-bcda7完全删除了提交。

你能否就如何正确地做到这一点提出建议?

0 投票
2 回答
10207 浏览

git - 如果我选择了樱桃,为什么我不能推送更改

我正在尝试通过 rebase/cherry-pick 删除最后两个提交。调用后git rebase HEAD^^^ -i,我只留下必要的提交(将所有内容都保留到HEAD^^,所以我放弃了HEAD^and HEAD)。

之后git push我看到以下内容:

git pull只是快进前 HEAD 提交。所以,我结束了我开始的事情。我究竟做错了什么?

0 投票
1 回答
112 浏览

git - 如何更新 git 存储库上的特定目录?

我有两个存储库,一个有点过时,但我在开发过程中都使用了。(这样做有历史原因,但没关系。)

我有一个子目录,它几乎是项目的独立部分,一个小应用程序。我只想从较新的存储库中更新此工具的目录。实际上,我需要两个 repo 顶部的这个应用程序的相同版本。

有没有办法只将与应用程序相关的提交移动到另一个存储库?

提交不是“直线”,我有大量提交,其中一些是此应用程序的补丁。

也许不知何故樱桃采摘?

0 投票
0 回答
578 浏览

git - 如何在 git 中使用不同数量的父级 rebase (cherry-pick) 多个提交?

我想将一些从主分支的提交重新定位到另一个孤立的分支。回购的历史相当混乱,主分支有 1 或 2 个父母提交。

如果我尝试做 rebase: git rebase --onto orphan commit1 commit2- git 会尝试 rebase 一些不在 from commit1to范围内的模糊提交,因此会commit2产生很多冲突。

如果我尝试做cherry-pick: git cherry-pick commit1..commit2- 那么我会得到错误:

否则:git cherry-pick -m1 commit1..commit2- 我得到:

有没有一种简单的方法可以实现我的目标?

0 投票
3 回答
56917 浏览

git - 如何在 SourceTree 中执行 git cherry-pick --continue?

解决冲突后,如何使用 SourceTree 继续采摘樱桃?

如果我正在做 rebase 并且我遇到了冲突,那么在我单击 commit SourceTree 解决它们之后让我继续那个 rebase。但是如何继续樱桃采摘操作呢?