Хранить тайник после git filter-branch --subdirectory-filter - PullRequest
8 голосов
/ 12 августа 2011

Я недавно выделил свой репозиторий (находящийся в bigproj), используя git filter-branch --subdirectory-filter deep/in/my/project.Затем я переместил каталог .git в deep/in/my/project.

Теперь тайник находится в странном состоянии, где верхний тайник выглядит примерно так:

stash@{0}: filter-branch: rewrite

Я не могу сброситьэтот тайник, как я получаю эту ошибку (после git stash drop):

refs/stash@{0}: not a valid stashed state

Теперь, даже если я знаю refid из stash @ {1}, он все еще содержит различия для файлов в иерархии bigproj,Можно ли перезаписать тайник, чтобы он содержал только файлы, принадлежащие иерархии deep/in/my/project?

Ответы [ 2 ]

3 голосов
/ 17 декабря 2013

У меня была такая же проблема после использования git filter-branch. Следующая команда полностью удаляет тайник и, следовательно, также удаляет записи, созданные git filter-branch. Предупреждение! , что все сохраненные изменения могут быть невозможно восстановить после вызова этой команды, поэтому обязательно применяйте все остальные сохраненные состояния перед вызовом команды.

    git stash clear
0 голосов
/ 12 августа 2011

Полагаю, вам нужно выполнить drop и pop, прежде чем перемещать каталог .git.Вы всегда можете заново спрятать его после переезда.

...