Поскольку 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, но старый проектИстория коммитов все еще будет доступна.