将未跟踪的文件夹合并到跟踪的Git存储库中

时间:2013-11-03 02:20:18

标签: git

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

Git repo是最新的,并且每次提交都包括在旧项目的工作目录中使用的提交。

编辑:为了澄清,两个文件夹具有相同的结构和代码,只有一个文件夹的更改比Git repo的HEAD更新。 (自那以后,Git Repo没有任何改变)。

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

1 个答案:

答案 0 :(得分:1)

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

假设:

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

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

git branch backup

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

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

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

一旦您满意,请执行git commit -as或类似操作。

希望有所帮助!