Как сделать git-cherry-pick только изменения для определенных файлов?

Я решил эту же проблему, переопределив метод validate_unique() ModelForm:


def validate_unique(self):
    exclude = self._get_validation_exclusions()
    exclude.remove('problem') # allow checking against the missing attribute

    try:
        self.instance.validate_unique(exclude=exclude)
    except ValidationError, e:
        self._update_errors(e.message_dict)

Теперь я всегда убеждаюсь, что атрибут, не предоставленный в форме, все еще доступен, например. instance=Solution(problem=some_problem) в инициализаторе.

483
задан techdreams 19 September 2018 в 06:14
поделиться

2 ответа

Можно использовать:

git diff <commit>^ <commit> -- <path> | git apply

нотация <commit>^ указывает (первого) родителя <commit>. Следовательно, эта различная команда выбирает изменения, внесенные в <path> в фиксации <commit>.

Примечание, что это ничего еще не будет фиксировать (как git cherry-pick делает). Таким образом, если Вы хотите это, необходимо будет сделать:

git add <path>
git commit
0
ответ дан 22 November 2019 в 22:29
поделиться

Ради completness, каковы работы лучше всего для меня:

git show YOURHASH --no-color -- file1.txt file2.txt dir3 dir4 | git apply -3 --index -

git status

Это делает точно, что хочет OP. Это делает разрешение конфликтов при необходимости, так же как merge делает это. Это делает add, но не commit Ваши новые изменения.

1
ответ дан 22 November 2019 в 22:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: