当前位置:  开发笔记 > Android > 正文

替换GitHub仓库,同时保留问题,维基等

如何解决《替换GitHub仓库,同时保留问题,维基等》经验,为你挑选了2个好方法。

我在GitHub上有一个回购,里面有很多问题.我想用一个新代码替换该repo的整个代码库,但我想保留所有以前的信息.

在不搞乱代码和GitHub的情况下,最好的方法是什么?



1> Andrew Marsh..:

cd 进入"新"存储库

git remote add origin git@github.com:myusername/myrepository(替换myusername&myrepository相应)

git push --force origin master

可能会删除其他远程分支并推送新分支.

这将使用您在本地拥有的内容强制替换远程存储库中的所有内容.要非常小心,没有回头路.


请记住,直到某些东西运行`git gc`,旧的孤立的blob仍然会占用空间.

2> Suragch..:

由于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中,但旧项目的提交历史仍然可用.

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有