0

我最近将我所有的项目从 Subversion 转移到了 Git。认为一切都很好而且花花公子,我继续像往常一样开发我的一个项目,但没有意识到(直到现在)我一直在修改旧项目目录中的文件,而不是新的 Git 跟踪目录。

Git 存储库是最新的,并且包含每个提交,包括在旧项目的工作目录中使用的提交。

编辑:为了澄清,两个文件夹具有相同的结构和代码,只是一个具有比 Git 存储库的 HEAD 更新的更改。(从那以后,Git Repo 没有对其进行任何更改)。

是否有可能,以及如何将我的其他未跟踪文件夹中的更改合并到我的新 Git 跟踪文件夹中?我想合并更改而不会搞砸太多。会有什么建议?

4

1 回答 1

1

我个人认为您想要实现的目标是非常安全的。但是不要删除旧的项目目录或对其进行任何更改,直到您确定要跟踪的所有更改都已被跟踪。

假设:

  • 您可以在一次提交中跟踪对旧项目目录所做的所有更改

在您的 Git 存储库中,创建一个备份分支。为方便起见,我们将其称为备份:

git branch backup

然后,将旧项目目录中的所有内容复制并粘贴到 Git 存储库。您可以按照这些方式执行git statusorgit diff或其他操作来检查更改。尝试构建您的项目并运行测试套件。

如果您认为出现问题,您可以随时git reset --hard HEAD重置对 git 存储库的更改,以便在复制和粘贴旧存储库之前取回内容。

如果出现严重错误,您可以随时删除当前分支,并从backup之前创建的分支创建一个新分支(实际上是该分支的克隆)。

一旦你满意,做一个git commit -as或类似的。

希望有帮助!

于 2013-11-03T03:05:18.773 回答