Как перезапустить репозиторий 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