如何将手动版本化文件移动到git(版本控制)?

时间:2014-11-24 12:40:33

标签: git version-control

我准备将项目的源代码移到Git。到目前为止,我还没有使用任何版本控制系统来跟踪更改,但我通过附加日期来维护连续版本的文件。例如,对于名为" myfile"的文件,我会保留myfile-d20130629myfile-d20140223myfile-d20141019等副本。 名为myfile(没有日期)的副本将对应于最新版本。

有没有办法(使用Git或其他方法)使用与过去版本相对应的提交来填充全新存储库的历史记录?换句话说,这样一个repo的历史将包含commit d20130629,commit d20140223 commit d20141019

此外,是否可以在每个提交中添加正确的(过去)日期?

1 个答案:

答案 0 :(得分:2)

是的,你可以。您可以使用以下脚本:

#!/bin/sh

git init

for i in $(ls -1tr)
do
    cp "$i" myfile
    git add myfile
    COMMIT_MESSAGE=$(echo "$i" | cut -d '-' -f2)
    COMMIT_DATE=$(echo "$COMMIT_MESSAGE" | sed -E 's,([0-9]{4})([0-9]{2})([0-9]{2}),\1.\2.\3,g')
    echo $COMMIT_DATE
    git commit -m $COMMIT_MESSAGE --date=$COMMIT_DATE
done

请记住,ls输出不应该在更严肃的脚本中进行解析,并且只有在文件可以按修改日期按照正确的顺序排序时才能在此处工作。