Замените репозиторий GitHub при сохранении проблем, вики и т. Д. - PullRequest
16 голосов
/ 11 декабря 2011

У меня есть репозиторий на GitHub с большим количеством проблем.Я хочу заменить всю кодовую базу этого репо новой, но я хочу сохранить всю предыдущую информацию.

Как лучше всего это сделать, не испортив ни кода, ни GitHub?

Ответы [ 2 ]

18 голосов
/ 11 декабря 2011
  • cd в «новый» репозиторий
  • git remote add origin git@github.com:myusername/myrepository (соответственно заменяя myusername & myrepository)
  • git push --force origin master
  • Возможноудалите другие удаленные ветви и вставьте новые.

Это принудительно заменит все в удаленном хранилище тем, что есть у вас локально.Будьте очень осторожны, пути назад нет.

8 голосов
/ 22 декабря 2016

Поскольку git push --force origin master не сохраняет код, зафиксированный в старом проекте, я думаю, что на этот вопрос нужен другой ответ.Я уже сделал ответ для проекта Android Studio, но использование Git не сильно отличается.

Я назову старый проект на GitHub, который вы хотите заменить MyProject.

Сделайте резервную копию вашего нового проекта

Переименуйте ваш текущий проект (или скопируйте его в новое место и удалите папку с исходным именем проекта. Мы клонируем старую версию проекта из GitHub вэто местоположение.)

Клонировать старый проект из GitHub

Перейдите в каталог, в котором вы хотите свой проект, и запустите

git clone https://github.com/username/repo.git

Замените username на ваш GitHubимя пользователя и repo с вашим именем хранилища.

Удалить все старые файлы

Вы можете попробовать

git rm -r *

Но если это не сработает (так как у меня это не сработало), то удалите вручнуюих с rm или файловым менеджером.Однако не удаляйте папку .git и .gitignore.

Затем, если вы удалили их вручную, вам нужно обновить git.

git add -u
git commit -m "deleting old files before adding updated project"

Добавить новые файлы

Скопировать все файлы из вашего нового проекта, которые вы ранеесделал резервную копию.Теперь дайте git знать, что вы хотите добавить их в репозиторий.

git add .
git commit -m "new updated project"

Вставьте ваши изменения в GitHub

git push

Теперь ваш новый проект будет в GitHub, но старый проектИстория коммитов все еще будет доступна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...