标签: cherry-pick

检查分支中的提交是否被挑选到 master 中

假设我们有两个分支:masterfeature_branch

是否有可能检查每个提交是否都经过feature_branch精心挑选master

git cherry-pick git-branch

5
推荐指数
1
解决办法
589
查看次数

樱桃采摘与变基

以下是我经常遇到的场景:

您在masteror上有一组提交design,我想将它们放在production分支之上。

我倾向于创建一个带有基础的新分支,作为productioncherry-pick这些提交并将其合并到production

然后,当我合并master到生产时,我会遇到合并冲突,因为即使更改是相同的,但由于樱桃选择而注册为不同的提交。

我找到了一些解决方法来解决这个问题,所有这些都很费力,可以被称为“黑客”。

虽然我没有做过太多的重新定位,但我相信这也会创建一个新的提交哈希。

我应该在我挑选的地方使用变基。与此相比,还有什么其他优势。

git rebase git-rebase cherry-pick

4
推荐指数
1
解决办法
2997
查看次数

如何根据每次提交的日期将两个分支合并为一个分支?

假设我有一个看起来像这样的git存储库:

merge-base---A1--A2------A3------A4 (branchA)
          \
           ----------B1------B2 (branchB)
Run Code Online (Sandbox Code Playgroud)

为了简化操作,我们假设branchA上的提交是对fileA的严格修改,而branchB上的提交是对fileB的严格修改.

我想将这些分支组合成第三个分支,branchAB,其中提交将按日期排序:

merge-base---A1--A2------A3------A4 (branchA)
          \
           ----------B1------B2 (branchB)
            \
             A1--A2--B1--A3--B2--A4 (branchAB)
Run Code Online (Sandbox Code Playgroud)

有没有办法用一个git命令自动执行此操作,还是我坚持使用手动方法(例如,cherry pick或rebase -i)?

BTW,merge-base是一个标签.

git merge date rebase cherry-pick

4
推荐指数
1
解决办法
4477
查看次数

如何git backport(rebase/cherry-pick)已经合并的分支

在我们的Git流程中,"master"是当前发布周期的主题和修复分支的集成分支,但我们还维护一个"稳定"分支,我们必须谨慎地向后移植已经在master上成功测试的一些修复.

所有困难都是分支已经合并回"master"(否则它很容易与rebase --onto)

  • 我们不希望以另一种方式改变过程,因为a)我们不想修复"稳定"分支中的所有内容,以及b)我们有时必须对"稳定"分支进行一些修改我想合并"主".
  • 显然,我们无法将修复程序合并到"稳定"分支中,因为这会向后移植许多不需要的功能.

我描述的初始情况图:

          I--J (stable)
         /
        /
       /
- A - B - C - D - E - F - G  (master) 
              \      /
               X -- Y (fix/123)
Run Code Online (Sandbox Code Playgroud)

我们想要达到的那种情况的图表:

          I--J (stable)
         /    \
        /      X'- Y' (fix/123-stable)
       /
- A - B - C - D - E - F - G  (master) 
              \      /
               X -- Y (fix/123)
Run Code Online (Sandbox Code Playgroud)

更复杂的情况是可能的,例如多次合并以完成修复:

- A - B - C - D - E - F - G - …
Run Code Online (Sandbox Code Playgroud)

git branch rebase cherry-pick

4
推荐指数
1
解决办法
2244
查看次数

git cherry-pick 不获取远程分支

我在这里遇到了一些问题,我想从我的系统本地不存在的 git 存储库中挑选一个提交。

例如:https : //github.com/DespairFactor/N6/commit/ecea4ab6d3d8bb4122522398200f1cd2a06af6d5

通常的樱桃采摘程序包括做

1) git remote add <RepoName> <repoURL>

2)git fetch <RepoName>它会下载一个副本,但不会合并到您自己的本地存储库中。

3)git cherry-pick <commit SHA>樱桃挑选完成。

我的下载速度非常慢(1 mbps),而且我没有足够的时间为 1 次提交下载整个 repo。对不起,如果这个问题已经被问过并回答过。

git github cherry-pick git-cherry-pick

4
推荐指数
1
解决办法
1083
查看次数

检查对一个GIT分支的所有提交是否都被樱桃拣选到另一个

是否有某种方法,也许使用git log,可以查看我在“ develop”中的任何提交是否尚未被挑选为“ otherbranch”?

例如,我进行了6次提交开发,然后选择5次提交其他分支。我可以执行什么git log命令来输出我错过的1个提交?

(我们所有的提交都通过Gerrit进行,因此任何基于Gerrit的解决方案也会有所帮助。)

git version-control branch cherry-pick gerrit

4
推荐指数
1
解决办法
1033
查看次数

cherry-picking a commit包括之前的提交?

完成https://learngitbranching.js.org后,我以为我有了樱桃挑选的想法,但事实证明我根本没有.

我创建了一个文件abc.txt并进行如下提交:

(write a) ? (write b) ? (write c)[master][HEAD]
Run Code Online (Sandbox Code Playgroud)

由此abc.txt变成了:

a
b
c
Run Code Online (Sandbox Code Playgroud)

现在,让一个分支from-a(write a):

(write a)[from-a][HEAD] ? (write b) ? (write c)[master]
Run Code Online (Sandbox Code Playgroud)

和樱桃采摘(write c)[master],我认为它将abc.txt包含只有一个线和c线,即喜欢

a
c
Run Code Online (Sandbox Code Playgroud)

但它实际上导致:

a
<<<<<<< HEAD
=======
b
c
>>>>>>> 3a0882d... write c
Run Code Online (Sandbox Code Playgroud)

在这里,我的困惑是双重的.为什么它会冲突而不只是添加线?为什么它包含b-line,尽管我只选择樱桃write c

git cherry-pick

4
推荐指数
1
解决办法
461
查看次数

为什么挑选樱桃会使回购不稳定?

我不是开发人员。在我们的一个项目中,由于很多票需要时间来完成,我们一直在挑选我们的提交,现在我们必须经常这样做。一位开发人员告诉我,应该避免挑选,因为它会使回购不稳定。这是什么意思,它如何使回购不稳定? 换句话说,采摘樱桃的负面后果是什么?

git github cherry-pick

4
推荐指数
2
解决办法
507
查看次数

Git:如何列出经过精心挑选的提交?

如何列出在Git中精心挑选的提交?让我们假设以下情况:cp = cherry-pick commit

                         cp1         cp2          
master -----o------o------o-----o----o
            \            /          /
     branch1 \----o------o-----o---o---o
Run Code Online (Sandbox Code Playgroud)

是否有一条日志命令列出cherry-pick提交cp1和cp2?

谢谢。

git logging cherry-pick git-cherry

3
推荐指数
2
解决办法
1880
查看次数

从远程主分支中选择git cherry而不进行其他远程更改

假设我正在master自己的存储库中工作.我的上游例如是main-upstream.

但我需要从另一个遥控器进行一次特定的提交 - special-upstream.我不希望从它进行其他更改 - 我不需要来自该远程的所有提交,我不希望它的任何更改 - 它是一个不同的项目 - 除了一个特定的提交与分支的某些哈希master.

有可能cherry-pick吗?

git cherry-pick

3
推荐指数
1
解决办法
2555
查看次数