我在github上有一个iOS项目设置,在过去的几天里我开始意识到我需要重构我的大部分代码。我构建的项目不遵循MVC的许多基础知识,现在想回去修复所有内容。
主要问题是该项目足够大,重构将是一个巨大的痛苦。 无论如何,我可以启动一个新项目,将它构建到当前所在的位置(显然有一些主要的设计更改)并将其推送到同一分支而不是原始项目吗?如果不清楚,请告诉我。
答案 0 :(得分:9)
考虑到你希望保留旧历史,我会稍微扩展给定的答案。在这种情况下,您不想开始新的回购;你只是想“处理”旧的,清理旧数据并添加新数据。您可以通过以下步骤完成此操作:
git status
将会显示一些混乱(其大小将取决于你曾经拥有多少文件)的删除和添加。没关系,这是您使用git add --all .
对所有这些条目进行广泛刷新的地方。这将在您的回购,删除,新增内容中完成所有内容。git commit -m "My new beginning"
。git push origin myBranch --force
瞧!您的存储库已完全完成,并保留了以前的历史记录。
答案 1 :(得分:2)
你可以。只需创建新项目并在命令行界面中键入以下命令(Windows中的cmd,linux中的终端)。
cd /path/to/project
git remote add origin git@github.com:username/repo.git
git push origin master --force
应该这样做。
答案 2 :(得分:0)
您可以在GitHub和.git / config中创建新项目,将网址更改为新的存储库
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = git@github.com:[yourname]/[yournewrepo]
答案 3 :(得分:0)
我发现最简单的方法是将.git文件/文件夹复制到新项目中。
答案 4 :(得分:0)
面对类似的问题,我使用了Stan的建议(从14年8月31日在5:26回答)。 以下是我采取的积极行动的详细信息。
假设:
期望:
解决方案:
1)转到本地计算机上的“旧项目”文件夹
2)在此处找到隐藏的“ .git”文件夹并复制
3)转到计算机上的新项目文件夹
4)检查是否存在.git文件夹(该文件夹已隐藏,因此您需要显示隐藏的文件)-如果存在.git文件夹重命名,则可以将其删除,但最好立即重命名并删除一切都会按计划进行-如果没有.git文件夹,请转到下面的第5点。 5)粘贴先前复制的.git文件夹(来自旧项目),并将其粘贴到“新项目”文件夹中
现在,新项目有一个.git文件夹,其中包含以前的所有更改和历史记录,并包括对GitHub上旧仓库的URL的引用。
6)如果使用的是VS,则可以检查代码中的更改。会有很多,或者在终端中检查它们。您可以检查旧文件是否已删除,新文件是否已添加。
7)推送实际的新项目。这个新项目将被推送到GitHub上的旧仓库中。在网上检查您的git repo,以确保一切顺利。
8)现在,您可以从本地计算机上删除旧项目,并删除此重命名的新git隐藏文件夹(在第4点中已重命名)。
现在您可以开发新项目,并保留所有旧历史。
希望有帮助。