Как перезапустить репозиторий git
Я новичок с git - и только что реализованные изменения в .gitignore не обрабатываются в отношении репо "ретроактивно" - скорее затрагивают будущие команды git add * и т.п. Когда файлы находятся в репо, их необходимо удалить вручную.
В этот момент - я хотел бы просто полностью убить это репо - и начать все сначала (сохранение моей конфигурации и т.д.).
Возможно ли это или это может вызвать серьезные проблемы? Можно сделать резервную копию - затем удалить папку .git - и начать новую?
Также - для других новичков, начинающих только в git, я бы предложил просмотреть это видео. В нем описывается не то, как использовать git, но как git работает внутри - и я нашел его открытием. Его название git для возрастов 4 и выше. http://blip.tv/open-source-developers-conference/git-for-ages-4-and-up-4460524
Разрешение:
Я хочу поблагодарить всех за их вклад и руководство.
Я попытался удалить каталог .git и перезапустить. Я не знаю, как это сделать, но когда я попытался начать все это - он начал с полной осведомленности об истории - и вкратце воссоздал себя, чтобы включить все предыдущие коммиты и отслеживание.
Я оставил это в покое - и начал реорганизацию, реструктуризацию и уборку. Изменение структуры папок - удаленные ненужные проекты, папки и т.д. - и в процессе - осознал, что я могу сделать, чтобы удалить файлы, которые я не хотел отслеживать (но все же хотел, чтобы они присутствовали в дереве).
Я эффективно перемещал каждую папку и т.д., и когда я это сделал, - git удалил отслеживание перемещенных/удаленных файлов. Но из-за .gitignore у меня теперь было - он не собирал или не отслеживал файлы в перемещенных папках.
Многое из того, что я делал, готовилось начать совершенно новое репо git. В конце процесса я проснулся на меня - большинство из того, что я не хотел отслеживать, было эффективно удалено для репо. Так что произошло то, что произошло, и сделал еще несколько настроек - и теперь все в порядке.
Еще раз - спасибо. Я люблю git!
Ответы
Ответ 1
Можно сделать резервную копию - затем удалить папку .git - и начать заново?
Да. Это все, что нужно сделать.
Некоторые действительно экзотические установки могут иметь папку .git вне рабочего каталога; но в противном случае папка .git содержит всю информацию, имеющуюся в git. Если вы удалите это, вы удалите всю историю, git-метаданные и тому подобное.
Если у вас были пульты, ссылка на них теряется, так как она хранится в той же папке .git. Сам пульт, скажем, на вашем сервере Gitlab, очевидно, не исчез. Поэтому, если вы снова добавите этот же пульт в чистую среду, это приведет к повторному появлению истории, что может вызвать конфликты слияния.
Изменение: для тех, кто, возможно, не прочитал весь вопрос: предупреждение: это удалит всю вашу историю мерзавцев.
Ответ 2
Я делаю это все время. попал в рабочий каталог, и если ваш на linux или mac делает
rm -rf .git
то я делаю
git init
git add .
git commit -m "first time load"
что все, что вам нужно
Ответ 3
Лучшей стратегией для этого было бы использование команды git archive
. Это приведет к экспорту неверсифицированной версии вашего дерева в архив tar. Выберите отрасль, которую вы хотите экспортировать, и выполните следующие действия в своем репозитории:
git archive master | tar -x -C ~/target/directory
Затем вы можете чисто удалить папку своего репозитория, а затем извлечь архив, чтобы начать заново. Наконец, вы можете создать новый репозиторий в извлеченной папке следующим образом:
git init