标签: git-cherry-pick

樱桃挑选Git意味着什么?

最近,我被要求cherry-pick提交.

那么,在git中挑选一个提交意味着什么呢?你怎么做呢?

git cherry-pick git-cherry-pick

2117
推荐指数
11
解决办法
101万
查看次数

如何在Git中有选择地合并或选择来自另一个分支的更改?

我在一个新项目上使用git,该项目有两个并行 - 但目前是实验性的 - 开发分支:

  • master:导入现有的代码库加上一些我一般都知道的mod
  • exp1:实验分支#1
  • exp2:实验分支#2

exp1exp2代表两种截然不同的架构方法.直到我走得更远,我无法知道哪一个(如果有的话)会起作用.当我在一个分支中取得进展时,我有时会在另一个分支中进行编辑,并且只想合并那些.

将选择性更改从一个开发分支合并到另一个开发分支而将其他所有内容合并的最佳方法是什么?

我考虑过的方法:

  1. git merge --no-commit 然后手动取消大量编辑,我不想在分支之间做出共同点.

  2. 手动将公共文件复制到临时目录,然后git checkout移动到另一个分支,然后更多地手动从临时目录复制到工作树中.

  3. 以上的变化.暂时放弃exp分支并使用另外两个本地存储库进行实验.这使得手动复制文件更加简单.

所有这三种方法都显得乏味且容易出错.我希望有更好的方法; 类似于过滤器路径参数的东西会git-merge更具选择性.

git git-merge git-patch git-cherry-pick

1374
推荐指数
22
解决办法
69万
查看次数

如何樱桃挑选一系列提交并合并到另一个分支?

我有以下存储库布局:

  • 主分公司(生产)
  • 积分
  • 工作的

我想要实现的是从工作分支中挑选一系列提交并将其合并到集成分支中.我是git的新手,我无法弄清楚如何正确地做到这一点(在一次操作中不提取合并的樱桃选择提交范围)而不会弄乱存储库.关于这个的任何指针或想法?谢谢!

git git-merge git-cherry-pick

599
推荐指数
8
解决办法
32万
查看次数

部分樱桃 - 用Git挑选一个提交

我正在研究两个不同的分支:发布开发.

我注意到我仍然需要将一些提交给发布分支的更改集成到开发分支中.

问题是我不需要所有的提交,只有某些文件中的一些人,所以很简单

git cherry-pick bc66559
Run Code Online (Sandbox Code Playgroud)

没有办法.

当我做的时候

git show bc66559
Run Code Online (Sandbox Code Playgroud)

我可以看到差异,但实际上并不知道将其部分应用于我当前工作树的好方法.

git git-cherry-pick

484
推荐指数
4
解决办法
11万
查看次数

中止一个git樱桃挑选?

我跑了git cherry-pick <hash>并且发生了合并冲突.我不想解决冲突,我只是想中止樱桃挑选.在进行实际合并时(有git merge),这是方便的git merge --abort.樱桃采摘相当于什么?

git git-cherry-pick

350
推荐指数
4
解决办法
16万
查看次数

合并到特定的提交

我创建了一个名为新的分支newbranchmasterGit的分支.现在我做了一些工作,想要合并newbranchmaster; 但是,我已经做了一些额外的更改newbranch,我想合并newbranch到最后一次提交到第四次master.

我用过cherry-pick但它显示了使用正确选项的消息:

git checkout master    
git cherry-pick ^^^^HEAD newbranch
Run Code Online (Sandbox Code Playgroud)

我可以用git merge代替它吗?

git merge newbranch <commitid>
Run Code Online (Sandbox Code Playgroud)

git git-merge git-cherry-pick

331
推荐指数
4
解决办法
12万
查看次数

如何从1个分支到另一个分支

我有2个分支,masterdev.

我在dev分公司,我想摘樱桃1从承诺masterdev.所以我做了

$ git cherry-pick be530cec7748e037c665bd5a585e6d9ce11bc8ad
Finished one cherry-pick.
Run Code Online (Sandbox Code Playgroud)

但是,当我做的git statusgitx,我没有看到我的承诺be530cec7748e037c665bd5a585e6d9ce11bc8ad在git的历史.

我怎样才能在dev分支中看到我的提交?

git cherry-pick git-cherry-pick

134
推荐指数
2
解决办法
11万
查看次数

Git cherry-pick语法和合并分支

所以我以前做了无数的樱桃选择,似乎我现在必须在生活中失败,我想尝试从一个分支到另一个分支,这应该是容易的,我怎么会得到一个关于它是合并的错误但是不是给了-m?

$ git cherry-pick a8c5ad438f6173dc34f6ec45bddcef2ab23285e0
error: Commit a8c5ad438f6173dc34f6ec45bddcef2ab23285e0 is a merge but no -m option was given.
fatal: cherry-pick failed
Run Code Online (Sandbox Code Playgroud)

那看起来不对.......它应该是:

$ git cherry-pick a8c5ad438f6173dc34f6ec45bddcef2ab23285e0
Run Code Online (Sandbox Code Playgroud)

从什么时候开始我必须提供-m功能?

git cherry-pick git-cherry-pick

57
推荐指数
3
解决办法
5万
查看次数

Cherry-pick并将一系列提交压缩到子目录或子树中

我怎么能告诉樱桃选择一个被压缩的提交范围?

或者换句话说,将两个提交之间的差异应用于存储库的当前状态?

以下就不能正常工作(摘樱桃没有--squash选项):

git cherry-pick --squash e064480..eab48b59c
Run Code Online (Sandbox Code Playgroud)

注意:我的用例是在一个子树场景中 - 在任何人开始争论我不应该压制之前.

以下工作,但后来我有一系列单独的提交.之后,我可以使用交互式rebase手动压缩它们.

git cherry-pick -X subtree=vendor/package e064480..eab48b59c
Run Code Online (Sandbox Code Playgroud)

有没有什么方法可以挤压作为樱桃挑选的一部分?

git git-cherry-pick git-squash

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

如何用1命令从Git的另一个分支中挑选最后一个sha?

当我从另一个分支机构挑选一个提交时,我发现自己做了很多.

$ git log -1 another_branch
commit <commit_sha>
// copy <commit_sha>
$ git cherry-pick <commit_sha>
Run Code Online (Sandbox Code Playgroud)

我可以在一个命令中完成所有这些操作,如果是这样,它是什么?

git sha git-branch git-cherry-pick

46
推荐指数
1
解决办法
1万
查看次数