Странная ошибка Git Rebase

У меня проблемы с ребазой, вот мои настройки:

У меня есть удаленный репозиторий git и локальная главная ветка, которая должна отражать удаленное репо, я всегда отхожу от своей локальной главной ветки.

Чтобы обновить мой локальный мастер, я выполняю git fetch; git rebase <remote>

Как только это будет завершено, я переключаюсь на свою ветку разработки git checkout my_dev_branch, а затем запускаю git rebase master. Это работает отлично.

Но я только что выполнил git fetch; git rebase <remote>; и получил

Cannot rebase: You have unstaged changes.
Please commit or stash them.

Когда я запускаю git status, я ничего не возвращаю. Затем я запустил git stash и снова попытался перебазировать, но получил ту же ошибку. Я даже пробовал git reset --hard <remote>, но все равно получаю ту же ошибку при попытке перебазировать.

Кто-нибудь знает, почему я получаю эту ошибку и как ее исправить?

Заранее спасибо!


person Lizard    schedule 06.02.2012    source источник
comment
Это очень далеко, но нет ли у вас случайно изменений в подмодулях, которые можно было бы подавить в выводе git status с помощью переменной конфигурации?   -  person Cascabel    schedule 07.02.2012
comment
понятия не имею, как это проверить, относительно новый для git, как мне проверить?   -  person Lizard    schedule 07.02.2012
comment
Вы бы знали, если бы в вашем репозитории были подмодули; это репозитории, встроенные в родительский репозиторий. И параметр конфигурации для игнорирования изменений не установлен по умолчанию. Вы можете вручную убедиться, используя git status --ignore-submodules=none, но похоже, что это не так.   -  person Cascabel    schedule 07.02.2012
comment
Кстати, ваши шаги по обновлению вашего локального мастера могут быть записаны как git pull --rebase   -  person Lily Ballard    schedule 07.02.2012
comment
Хм, что произойдет, если вы запустите git diff-files? Я думаю, что это проверка, которая под капотом приводит к ошибке, которую вы видите. Если он что-то печатает, то и git status должен, но... что-то происходит.   -  person Cascabel    schedule 07.02.2012
comment
Я закончил тем, что удалил все репо и начал заново, понятия не имею, что вызвало это   -  person Lizard    schedule 07.02.2012


Ответы (1)


Посмотрите на этот ответ и посмотрите, решает ли он проблему. https://stackoverflow.com/a/5255700/275583

Как было предложено, попробуйте установить параметр конфигурации и посмотреть, решит ли он вашу проблему:

git config --global core.trustctime false

Другие вопросы, связанные с вашим рабочим процессом:

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

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

Поэтому я не слишком уверен в вашем рабочем процессе, вы можете немного уточнить здесь или в другом вопросе, чтобы лучше работать.

Удачи

person Anas Alkhatib    schedule 28.03.2012