Если ни один из описанных выше обычных способов не поможет вам, посмотрите на трассировку вызовов под этим сообщением об ошибке ("fatal: This operation . . ."
) и найдите сценарий и строку, которая вызывает фактическую ошибку. Как только вы обнаружите этот вызов error (), отключите его и посмотрите, завершается ли операция, которую вы пытаетесь завершить, даже с некоторыми предупреждениями / сообщениями - пока игнорируйте их. Если это так, то, наконец, после завершения он может упомянуть ту часть операции, которая не была успешно завершена. Теперь рассмотрим эту часть отдельно, если применимо.
Относительно вышеупомянутой логики к моему случаю, я получал это сообщение об ошибке "fatal: This operation . . ."
, когда пытался получить код Android-x86 с repo sync . . .
. и трассировка вызовов показала raise GitError("cannot initialize work tree")
как вызов error (), вызывающий указанное выше сообщение об ошибке ("fatal: . . ."
). Итак, после комментирования, что GitError()
в .repo/repo/project.py
, repo sync . . .
продолжалось и, наконец, указывало на ошибку для трех проектов, которые не были должным образом синхронизированы. Я просто удалил их папки *.git
из соответствующих им путей в дереве исходников Android-x86 локально, снова запустил repo sync . . .
и попробовал на вкус!