Git статус для клонированного репозитория показывает удаленный файл
Я переместил репозиторий cvs в репозиторий git, и он находится на сервере. В моем локальном я попытался клонировать этот репозиторий. Он клонирован. Но когда я проверил состояние git, он показывает результат следующим образом.
$ cd FMS_RE_ENGG/
$ git status
# deleted: FMS_RE_ENGG/Gemfile
# deleted: FMS_RE_ENGG/Gemfile.lock
# deleted: FMS_RE_ENGG/PACKAGING/CONFIG/fms-frontend.ini
# deleted: FMS_RE_ENGG/PACKAGING/DEBIAN/postinst
# deleted: FMS_RE_ENGG/PACKAGING/DEBIAN/postrm
# deleted: FMS_RE_ENGG/PACKAGING/DEBIAN/preinst
# deleted: FMS_RE_ENGG/PACKAGING/DEBIAN/prerm
# deleted: FMS_RE_ENGG/PACKAGING/DEBIAN/templates
и др.,
В чем проблема? Почему я не получил исходные файлы? Если я запустил git checkout FMS_RE_ENGG после клонирования, то я могу его получить. Почему он не дает исходные файлы в момент клонирования?
Ответы
Ответ 1
Если я правильно вас понимаю, я предполагаю, что вы захватываете репозиторий через базовую команду клонирования, например
git clone gitRepositoryLink
При запуске:
git checkout FMS_RE_ENGG
это проверяет другую ветвь в вашем репозитории GIT. Если исходные файлы являются частью ветки FMS_RE_ENGG, но не основной ветвью, когда вы клонируете репозиторий, вы не увидите исходные файлы, потому что вы не работаете с веткой FMS_RE_ENGG.
Ответ 2
Вероятно, вы использовали git fast-import, чтобы заполнить ваш репозиторий данными cvs. Это изменит структуры данных внутри ваших подкаталогов .git, но не создаст рабочую проверку.
Итак, git статус "думает" о том, что вы удалили ВСЕ ваши файлы и что следующая фиксация удалит их из репозитория.
Просто сделайте git reset -hard to reset вашу рабочую копию для чистой проверки из вашей основной ветки.
Ответ 3
Что показывает git branch -a
после завершения клонирования? Проблема может заключаться в том, что git clone
запрашивает удаленный филиал, который имеет его текущую ветвь, и отражает это в клонированном (локальном) репо.
Предположительно, либо ваш инструмент конверсии ввернул что-то, либо удаленное репо каким-то образом связано с его идеей о его активной ветке.
Нам нужно больше информации от вас, чтобы сделать больше догадок.
Ответ 4
Просто попробуйте команду ниже. Это сработало для меня.
git checkout -f HEAD