git:无法挑选

标签 git cherry-pick

我在尝试 cherry pick 时陷入了一个奇怪的循环。这是我所做的,以及问题所在。

我有两个分支:ma​​inlinetemp。我想挑选一个从主线到临时的特定提交。我正在这样做,如下所示。

  1. git checkout temp
  2. git cherry pick <commit sha>
  3. 现在,我得到:Segmentation fault: 11
  4. 我重新运行 2) 中的命令并得到:Unable to create ...git/index.lock': File exists

    ============================================= =====================

  5. 现在我运行 rm -f ./.git/index.lock

  6. 再试一次git cherry pick <commit sha>

  7. 现在我明白了:

    错误:以下未跟踪的工作树文件将被 merge 覆盖: 我的文件.java

... 对于一个甚至不存在的文件。我以前有过它,但我重命名了它,所以该名称下的文件不在存储库中。

  1. 我跑 git status现在我在未跟踪的文件 下看到文件myfile.java。现在它甚至出现在编辑器中。我可以从编辑器中删除它,但不能从 git 存储库中删除它。我得到 pathspec 'myfile.java' did not match any files
  2. 好的,所以我从编辑器中删除文件,重新运行 cherry-pick然后我回到步骤 3)

这里发生了什么,我该如何选择? :D

最佳答案

我不知道你为什么会出现段错误。我建议确保您使用最新的 git 版本。

另一种挑选方法是从提交中创建一个补丁并应用它:

git checkout temp
git format-patch -1 <commit sha>
git apply 0001.....patch

关于git:无法挑选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41532242/

相关文章:

git - 是否可以在 gitlab-ci 中将另一个分支构建到另一个目录?

git - Cherry 选择压扁的提交

git - 每个 Visual Studio 版本都需要自己克隆的 git 存储库吗?

Git-为什么不忽略.txt文件

Github .pdf 差异

git cherry-pick 不获取远程分支

git - cherry-pick 错误修复正确

git - 使用 cherry-pick 或 rebase --onto 选择一系列提交最终会得到相同的结果吗?

git - 如何 git cherry-pick 使用二进制文件提交

node.js - 你有提交 webpack 生成的文件吗?