- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试在 git 中挑选一个提交,它添加了一堆文件,但也修改了我的分支中尚不存在的文件。
存在冲突,要添加的文件都暂存了,commit中修改了但分支中还不存在的文件没有暂存,列为:
deleted by us: app/changed_file.rb
如果我只提交暂存文件,当 changed_file.rb
最终 merge 到分支中时会导致问题吗?
最佳答案
https://www.kernel.org/pub/software/scm/git/docs/git-cherry-pick.html
Cherry-pick 会创建新 提交,因此如果您省略分支中不存在但存在于您要 merge 的分支中的文件,最终什么都不会发生。
mkdir test && cd test && git init && touch foo.txt
git add foo.txt && git commit -m "Init repo"
git branch test && git checkout test && vi foo.txt
git add foo.txt && git commit -m "Changed foo on branch test"
git checkout master && touch bar.txt
git add bar.txt && git commit -m "Create bar.txt"
vi bar.txt
touch baz.txt && git add . && git commit -m "Will be cherry picked"
git checkout test && git cherry-pick bfd1b58
git rm bar.txt && git commit
git checkout master && git merge test
作为 ls
的结果:bar.txt baz.txt foo.txt
关于git cherry-pick merge 删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15690261/
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、
我是一名优秀的程序员,十分优秀!