Как запустить новый Git с нуля, когда старый Git все еще существует

#bash #git #github

#bash #git #github

Вопрос:

Я хочу создать новый пустой репозиторий с помощью git. Я не могу найти простое решение в Интернете, которое объясняет этот шаг.

В этой документации указано «git-init — Создайте пустой репозиторий Git или повторно инициализируйте существующий», но затем не указано, какие параметры необходимы, чтобы сделать его пустым: https://mirrors.edge.kernel.org/pub/software/scm/git/docs/git-init.html

Является --bare ли репозиторий таким же, как пустой репозиторий?

Проблема:

У меня есть два разных проекта с разными репозиториями на github, но когда я пытаюсь использовать Git (в Bash) после изменения каталога на новый проект, он продолжает загружать файлы из старого проекта.

Я думаю, проблема в том, что git использует старые файлы репозитория и, возможно, считает, что новая папка — это просто дополнительные файлы? В принципе, я хочу начать с нуля. Могу ли я просто начать с нуля в своем новом проекте с новым репозиторием?

Я попробовал $ git init в новом каталоге, но затем он просто говорит: «Повторно инициализировал существующий репозиторий Git в /home/user/new_project/.git/»

Я пытался: $ git remote set-url origin git@github.com:User/New_Project.git но это просто обновляет то, куда он помещает мой новый проект, а затем включает файлы старых проектов.

Пожалуйста, помогите новичку, пытающемуся разобраться с трудностями 🙏🏼

Ответ №1:

Удалить .git папку:

 rm -rf .git
  

Затем создайте новый репозиторий git:

 git init
git remote add origin <remote-URL>
git add .
git commit -m "new clean repo"
git push --force origin master
  

Комментарии:

1. Теперь меня спрашивают, уверен ли я, что хочу удалить файлы, защищенные от записи, для каждого файла, и, похоже, их много… rm: remove write-protected regular file '.git/objects/a2/dc6463791d402ae1aff21814cdc98ec5781174'? yes rm: remove write-protected regular file '.git/objects/5b/1bb1e16b23f0f41280b132a34563503967fd2f'? y rm: remove write-protected regular file '.git/objects/02/a2bbae898d0765f15c6778f3c5ac161e46e4ec'? y rm: remove write-protected regular file '.git/objects/fb/302ac064d4bdb2f12a2a2f4ef3b50fbb13a2e2'?

2. похоже rm -rf .git , сработало. это -f заставляет его принудительно удалять, что мне и было нужно. Вместе это -rf

Ответ №2:

  1. создайте 1-й проект
  2. сделайте инициализацию git
  3. создайте удаленный репозиторий для 1-го проекта
  4. свяжите удаленное репозиторий с 1-м проектом
  5. создать 2-й проект
  6. сделайте инициализацию git
  7. создайте удаленный репозиторий для 2-го проекта
  8. свяжите удаленное репозиторий со 2-м проектом

Git отправит все в соответствующее удаленное репозиторий

Комментарии:

1. на шаге 6, когда я использую $ git init в новом каталоге, он просто говорит «Повторно инициализировал существующий репозиторий Git в /home/user/new_project/.git /»

2. да, потому что git работает с одним репозиторием одновременно

Ответ №3:

Небольшая подсказка с моей стороны

инициализация git: создайте пустой репозиторий и повторно инициализируйте существующий

следующая ссылка даст больше информации о различных параметрах, которые можно использовать во время инициализации git ($ GIT_DIR) https://mirrors.edge.kernel.org/pub/software/scm/git/docs/git-init.html

Комментарии:

1. спасибо, но какие параметры выбрать для создания пустого репозитория? это —bare вот так: git init --bare ?