gpt4 book ai didi

git - 如何将简单的非源代码控制的项目备份转换为版本化的 git 存储库?

转载 作者:太空狗 更新时间:2023-10-29 12:44:57 24 4
gpt4 key购买 nike

我一直很调皮。我开发一个软件(我是唯一的开发人员)已经有一段时间了(好吧,这已经过去几年了),但没有使用任何类型的源代码控制。

我已经决定从现在开始使用源代码控制(git 似乎是最有可能的,因为 Windows 工具在过去几个月里似乎出现了很多)。我所拥有的是我的 (.NET) 解决方案的整个目录的日期备份。

我想做的是自动在修订历史记录中显示我的备份。会很乱。项目和文件将在解决方案历史记录过程中添加/删除。我并不担心这样的问题,例如我所知道的重命名文件被解释为删除一个文件并添加一个新的、不相关的文件。

更一般地说,我的问题是:我有时间订购了一个不断变化的目录的副本。我认为将第一个导入 git 很容易。但是,然后我希望目录的所有后续副本按日期顺序一次 merge 一个,而不必单独提交每个子目录和文件。

这可能吗,还是只是因为我从一开始就没有使用源代码控制而受到惩罚?

编辑:如果我继续手动使用“单独提交所有快照”方法(少于 20 个快照),是否有一种方法(正如 Esko Luontola 建议我可能想要的那样)用日期覆盖提交日期我有快照。 git commit 似乎没有允许这样做的标志。还有其他方法吗(我使用的是 Vista)?

编辑:在回答我使用原始日期的问题时:您必须设置 GIT_AUTHOR_DATE 和/或 GIT_COMMITER_DATE 环境变量以在执行提交时覆盖当前日期和时间的使用。

之所以有两组变量(也有 GIT_(AUTHOR|COMMITER)_(NAME|DATE|EMAIL))是为了区分发送补丁的作者和实际维护者将提交提交到 repo 协议(protocol)中。

如果在 VS 上使用 git 扩展请注意:如果您使用“git bash”命令行设置(export varname="value")这些变量,然后切换回 GUI 进行提交,它似乎会忽略它们.您必须留在命令行上并从那里运行“git commit”。

最佳答案

您可以使用示例 git-fast-import基于 git.git 存储库中分发的工具:import-zips.py (在 Python 中)import-tars.perl (在Perl),或使用这些脚本作为您自己的导入脚本的基础。您可以在 contrib/fast-import/ 中找到这些脚本目录。

关于git - 如何将简单的非源代码控制的项目备份转换为版本化的 git 存储库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/748778/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com