У меня есть репо на GitHub с большим количеством проблем. Я хочу заменить всю базу кода этого репо на новую, но я хочу сохранить всю предыдущую информацию.
Какой лучший способ сделать это без испорчения кода и GitHub?
У меня есть репо на GitHub с большим количеством проблем. Я хочу заменить всю базу кода этого репо на новую, но я хочу сохранить всю предыдущую информацию.
Какой лучший способ сделать это без испорчения кода и GitHub?
cd
в "новый" репозиторийgit remote add origin [email protected]:myusername/myrepository
(заменив myusername
и myrepository
соответственно)git push --force origin master
Это решительно заменит все в удаленном репозитории на то, что у вас есть локально. Будьте очень осторожны, нет возврата.
Так как git push --force origin master
не сохраняет код, связанный со старым проектом, я думаю, что этот вопрос нуждается в другом ответе. Я уже сделал ответ для проекта Android Studio, но он не сильно отличается от использования Git.
Я назову старый проект GitHub, который вы хотите заменить MyProject
.
Переименуйте свой текущий проект (или скопируйте его в новое место и удалите папку с исходным именем проекта. Мы будем клонировать старую версию проекта из 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"
git push
Теперь ваш новый проект будет в GitHub, но история создания старого проекта будет доступна.
Подобную проблему я решил способом, описанным ниже.
Предположения:
Ожидания:
Решение:
1) перейдите в папку "старый проект" на вашем локальном компьютере
2) найдите там скрытую папку ".git" и скопируйте ее
3) перейдите в новую папку проекта на вашем компьютере
4) проверьте, есть ли папка .git (она скрыта, поэтому вам нужно показать скрытые файлы) - если есть папка .git, переименуйте ее, вы можете либо удалить ее, но лучше переименовать ее сейчас и удалить, если все пойдет по плану - если папка .git отсутствует, перейдите к пункту 5 ниже. 5) вставьте ранее скопированную папку .git (из старого проекта) и вставьте ее в папку "новый проект"
Теперь новый проект имеет папку .git со всеми предыдущими изменениями и историей и содержит ссылку на URL вашего старого репозитория на GitHub.
6) Если вы используете, например, VS, вы можете проверить изменения в коде. Их будет много, или проверьте их в терминале. Вы можете проверить, что старые файлы были удалены и добавлены новые.
7) Нажмите актуальный новый проект. Этот новый проект будет перенесен в ваш старый репозиторий на GitHub. Проверьте свое git-репо в Интернете, чтобы убедиться, что все прошло хорошо.
8) Теперь вы можете удалить старый проект с вашего локального компьютера и удалить переименованную новую скрытую папку git (она была переименована в пункте 4).
Теперь вы можете разработать свой новый проект, сохраняя всю старую историю при себе.
Надеюсь, это поможет.