Git Checkout ошибки - PullRequest
       23

Git Checkout ошибки

1 голос
/ 21 октября 2011

Я использую скрипт для автоматической проверки первого коммита каждого месяца за последние 12 месяцев. Иногда случается что-то странное, и мне больше не разрешают проверять последние коммиты. Ошибка выглядит примерно так:

error: Your local changes to the following files wold be overwritten by checkout:

db tests/framework.cpp

Please, commit your changes or stash them before you can switch branches. Aborting

Это случалось много раз (я не редактирую файлы, просто проверяю их). Обычно я просто загружаю свежую копию репозитория с Github и запускаю процесс заново, и он работает. Но как только он сломается, я не знаю, как это исправить, и это продолжает происходить. Есть мысли?

Вот итерация, происходящая в моем скрипте, после которой выводится git status

for i in {12..1}

do

cd
cd git/mongodb/mongo

git checkout master                   
git checkout $(git rev-list --before "$(date -d "$(date +%Y-%m-01) -$i months 00:01" +%Y-%m)-01" -n 1 HEAD)
git checkout master

Статус Git:

На ветке мастер

Изменения, не подготовленные для фиксации:

        modified:    dbtests/framework.cpp

неотслеживаемых файлов:

       SHA1.txt
       SHA1.txt.
       file
       file.

изменения не добавлены для фиксации

1 Ответ

3 голосов
/ 21 октября 2011

Вы можете использовать флаг --force, чтобы Git все равно делал проверку.

В качестве альтернативы, вы могли бы использовать git reset --hard вместо того, чтобы восстановить коммиты, а не использовать checkout.

...