我有一个项目并开始研究新版本。到目前为止,该项目与以前的版本完全不同,只是它与旧版本的功能相比很少,而且它们都不是API。
我想将自最近发布以来发生的更改转换为新的存储库。在开始重构之前,我想把旧存储库留在状态中。
我可以简单地在新存储库中进行初始提交,然后强制还原旧存储库。但我怀疑这会在社区中强烈反对。
我怀疑还有一种关于HEAD的方法。我对Origin master进行了所有更改,因为它是一个小型库。
答案 0 :(得分:1)
git存储库可以指向不同的远程存储库。
您很可能只定义了origin
,您可以按以下方式列出:
git remote show
在github上,您可以创建一个干净的存储库,例如your-user/new-remote-repo.git
。 (选择不要:"使用README&#34初始化此存储库;。)
然后在您的本地存储库中,您可以添加新的远程:
git remote add new-remote-repo git@github.com:your-user/new-repo.git
git push -u new-remote-repo master
为了及时重置当前存储库,您只需签出相关提交并强制推送它。
git checkout master
git reset --hard your-hash
git push --force origin master
我建议不要重写已经发布的主人。由于其他人可能已经依赖于您的master
分支,他们可能会遇到冲突状态导致混淆。
我宁愿在旧存储库中创建指向最后一个工作状态的last-relase标记,并在Readme.md
中将其声明为最终版本。