2015-03-11 6 views
0

Предположим, что я хочу, чтобы я взял всю историю фиксации конкретного файла репо, но у репо есть более одного файла, а коммиты не равны, т.е. конкретный файл, который я хотел выбрать, и 2-й и 3-й - для некоторых других и 4-го для конкретного файла и т. д.Черри-сбор всей истории фиксации конкретного файла

В этом случае, как мой вишневый выбор всех коммитов за один выстрел из этого конкретного файла, за исключением коммиты, которые сделаны в другие файлы ..

Я знаю,

$ git cherry-pick abc^..xyz 

команда выше не будет работать, так как она будет вишней - выберите другие коммиты, которые я тоже хочу исключить.

Итак, мой вопрос: есть ли способ выполнить мое требование в одной команде?

+0

ли любая фиксация обновляет несколько файлов? Если это так, у вас будет конфликт. –

+0

ya на самом деле ... Я буду достаточно ясным сэр .... из linux repo я хочу, чтобы вишня выбрала все изменения, внесенные в zSwap.c .... так что некоторые коммиты могут также обновлять более одного файла .. В этом случае есть ли возможности? –

ответ

0

Вам также нужна история фиксации?

Одним из вариантов является

git show <treeish>:<file> 

, а затем просто зафиксировать файл, хотя он эффективно "кабачки" коммит

Вы можете использовать это слишком

How to cherry pick only changes for only one file, not the whole commit

git diff <branch>^..<branch> -- <filename> | git apply 
+0

tqsm ... Второй работал ... Я видел diff от фиксации для фиксации базы вместо ветки :) ... tanx для ответа ... –

Смежные вопросы