Подтвердить что ты не робот

Git вишня не работает

Я пытаюсь сделать вишневый захват с хозяина и получить его в текущую производственную ветвь. Однако, когда я выполняю git cherry-pick <SHA-hash>, я просто получаю это сообщение:

# On branch prod_20110801
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#   site/test-result/
 nothing added to commit but untracked files present (use "git add" to track)
 The previous cherry-pick is now empty, possibly due to conflict resolution.
If you wish to commit it anyway, use:

    git commit --allow-empty

Otherwise, please use 'git reset'

Примечание. Я пробовал делать reset и reset --hard HEAD ^, и ничто не изменило ничего.

Я смущен, почему это не работает для меня.

Любое понимание, советы или идеи о том, как разрешить это, будут полезны ~!

4b9b3361

Ответ 1

Git разрешает выбор вишни как no-op - все изменения, внесенные этим фиксацией, были введены некоторыми фиксаторами в вашей текущей ветке. (Или то, что думает Git). Убедитесь, что комманда, которую вы выбрали для вишни, еще не была объединена, как либо правильное слияние, так и переформатирование, черемуха или поэтапный патч. (Используйте git show <commit-id>, чтобы увидеть diff.)

Ответ 2

В моем случае это приводило меня в бешенство, так как было совершенно очевидно, что конкретный коммит, который я хотел выбрать для вишневого выбора, в мою текущую ветвь был объединен не.

Оказывается, кто-то уже вишневый взял фиксацию за неделю до этого. изменения, но не конкретные SHA, были уже в моей текущей ветке, и я не заметил их.

Проверьте файлы (ы), которые вы пытаетесь выбрать. Если они уже имеют изменения, версия фиксации уже выбрана или добавлена ​​вишней другим способом. Таким образом, нет необходимости, чтобы вишня снова выбрала его.

Ответ 3

Также обратите внимание, что добавление пустого файла (например, .gitkeep) в дерево рассматривается с помощью вишневого выбора как пустой фиксации.

Ответ 4

Итак, здесь еще одна странная ситуация, когда это может возникнуть: у меня было следующее:

git скриншот журнала

Я пытался выбрать cherry pick 9a7b12e, который, по-видимому, ничего, - он даже попытался рассказать мне об этой строке в выходе журнала git, что 4497428 было тем, что я действительно хотел. (То, что я сделал, просто искал сообщение фиксации и схватил первый хеш, который я видел, когда он был). Во всяком случае, просто хочу сообщить людям, что есть другой способ, которым вы можете обмануть попытку вишни выбрать no op.