2013-06-28 82 views
0

我有一个不同的分支提交,只是在一个新的目录中添加一堆文件。奇怪的git樱桃挑选行为

比方说,提交的ID为123456,它添加了一个名为foo的目录。

现在在我的其他分支,从干净的工作树,我做git cherry-pick 123456,期待它只是添加foo目录。

但是不!樱桃挑选失败并且包括对其他文件(!)的其他更改的负载给我未合并的路径。

当然,你是樱桃采摘提交必须包含一些你不知道/期望的东西,然后呢?那么,不,git show --oneline --name-status 123456 | grep -v foo什么都不返回。即foo以外的所有文件都不会发生更改。

发生了什么,我该如何正确地选择这个提交?

+0

这个问题并不清楚在挑选樱桃后是否在头部添加了“foo”。如果没有,尝试使用-x标志运行樱桃挑选 - 也许你添加了不同于你预期的提交。 – Vasiliy

+0

@VasiliyZukanov在发布cherry-pick时,工作树中不存在'foo'目录(这就是你的意思?)。 '-x'只是关于新提交伴随的注释。我认为这是一个奇怪的git错误(请参阅下面的答案)。 – artfulrobot

+0

我的意思是问'foo'是否被添加到你执行樱桃挑选的分支中。无论如何,如果升级Git解决了你的问题 - 要走的路。 – Vasiliy

回答

0

升级git。

BAD: Git版本1.7.2.5(如Debian的挤压) - 猜喘息升级将修复它(有v1.7.10)

GOOD: Git版本1.7.9.5(如在Ubuntu精确)