0

假设具有子目录 (A) 的非版本控制项目目录。一年后,该目录被复制并进行了进一步的开发(A')。

我刚刚将早期版本 A 添加到 Git。本着版本控制的精神,我希望将 A' 文件复制到 A 文件上(毕竟它们是同一个项目),但我试图系统地删除以后 A' 版本中不再存在的 A 文件。

我已经用谷歌搜索了很长一段时间,但似乎无法找到(我敢打赌)经常发生的这种情况的最佳实践,所以我希望有一个众所周知的“秘诀”可以在不写的情况下完成它自定义代码。

是否可以使用 git-diff --diff-filter=D ("Deleted") 来生成 rm's,以便 A 的“残基”不再驻留在源代码管理中?

4

1 回答 1

1

因此,如果A并且A'只是具有不同版本代码的两个不同目录,并且您正在创建一个全新的 git repo,那么这实际上非常容易。

由于您已经使用A文件设置了 git repo,您​​需要做的就是删除 repo 目录中的所有内容(当然,任何 git 文件/文件夹除外),然后从 复制文件A',然后添加一个新的犯罪。

所以,你的 git 历史看起来像这样:

z9y8x7w6v current state (A')
a1b2c3d4e f1rst p0st (A)

您将能够比较 和 之间的变化AA'但任何新工作都将从 开始A'。这只会确保您A在 git 历史中拥有一个旧工件。

旁注:你现在考虑这个很好。A'如果您等待,并且在 repo 中完成了任何工作,那么A插入历史将非常困难。

于 2017-10-23T20:04:59.013 回答