【发布时间】:2015-10-01 18:36:53
【问题描述】:
情况
- 在使用版本控制系统 (VCS) 之前,我一直在从事一个项目。
- 我过去常常在取得进展时复制和粘贴整个项目,以便保存我工作的“快照”,以便回顾历史。
- 从那时起,我开始在我最近的其他项目中使用版本控制系统,因为使用“复制、粘贴 - 快照”方法会浪费大量空间,而且实用性很差。
目标
我想创建一个正确代表开发阶段的存储库。
我的计划
- 创建一个新的存储库并使用最旧的快照文件夹对其进行初始化。
- 通过用下一个更新的快照文件夹替换旧文件夹进行提交,同时保留隐藏的
.git文件夹。 - 重复第 2 步,直到 git 更新为最新的快照,即当前工作目录。
问题
- 这是实现此目的的可行方法吗?
- 如果是,我可以对这种方法进行哪些改进?
- 如果没有,我应该怎么做?
附加信息
我愿意使用 GitHub 的客户端、Git Bash、git shell 或任何真正的东西来做到这一点。我对 GitHub 客户端软件最满意,但更乐于学习其他方法。
扩展问题
如果我想要正确的日期,我应该通过环境变量GIT_AUTHOR_DATE 和GIT_COMMITTER_DATE 更改它们(我不知道该怎么做),还是不值得麻烦?或者文件的元数据(属性)会在提交时维护这些信息吗?这主要是出于美学原因(据我所知),因为无论如何我都会按时间顺序提交文件。
编辑:结果
我使用了“我的计划”中列出的步骤,效果很好。
【问题讨论】:
-
可能会有一些改进,但您的想法应该可以正常工作。
-
我接受 eckes 的回答,因为它专门回答了我的问题,但我想提一下 @Jubobs 评论与一个非常相似的问题有关,但不同之处在于我的问题指的是整个提交,而 Jubobs 的链接指的是暂存,对于与我有类似问题的其他用户可能值得一读。
标签: git github version-control snapshot revision-history