2013-06-28 42 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精確)