我在GitHub上有一个回购,里面有很多问题.我想用一个新代码替换该repo的整个代码库,但我想保留所有以前的信息.
在不搞乱代码和GitHub的情况下,最好的方法是什么?
cd
进入"新"存储库
git remote add origin git@github.com: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中,但旧项目的提交历史仍然可用.