将项目导入 Git 时如何保留后续版本的日期?

How can I preserve the dates of the successive versions while importing a project into Git?

我的桌面上有一个包含以下内容的文件夹:

SABS/
|-SABS v0.1b/
  |-sabs.sh
|-SABS v0.2b/
  |-sabs.sh
|-SABS v0.3b/
  |-sabs.sh
|-SABS v0.4b/
  |-sabs.sh
|-SABS v0.5b/
  |-sabs.sh

每个文件夹中都有一个脚本文件。每个脚本文件都有不同的关联日期。

在意识到可以使用 Git 之前,我开始编写此脚本。

我的问题是:是否可以保留使用 Git 创建文件的历史记录和时间并导入它们?这样,当您查看 sabsv0.1 时,它会显示创建日期,而不是导入到 Git.

的日期

[...] is it possible to keep the history and the times when the files were created using Git and import them?

默认情况下,git commit 将当前系统日期烘焙到生成的提交中。但是,您可以使用 --date 标志覆盖该行为。

因此,您可以

  1. 创建一个名为 SABS_git 的文件夹(例如)并将其 cd 添加到其中;
  2. 通过 运行

    初始化 Git 回购
    git init
    
  3. SABS v0.1b/sabs.sh复制到SABS_git/

  4. 阶段 sabs.sh,并提交所需日期:

    git add sabs.sh
    git commit --date=<desired-date>
    

    其中 <desired-date> 可以是,例如 2014/01/01.

  5. 编写描述性提交消息。

  6. 将步骤 3-5 应用到 sabs.sh 的下一个版本,直到耗尽。

如果您有很多版本,您可能需要编写一个 shell 文件来自动执行其中的一些步骤;不过,您可能希望每次都写一条有意义的提交消息,这不能自动进行。