我有几个备份目录我想把它们放到 git 中。

目录是:

web_backup_2012-03-07
web_backup_2012-06-03
web_backup_2012-06-21
web_backup_2012-06-25
web_backup_2012-07-02
web_backup_2012-07-15
web_backup_2012-07-21

现在我想把它们放在 git 上。最好的方法是什么?
(每个备份大约 1.1 G,20k 个文件。)

这是我认为应该做的:

• cd 到最早的备份目录。
git init
git add .
git commit . -m"initial commit"

然后将 .git 目录移动到第二个目录中,然后执行
git add .
git commit . -m"commit. ‹date here›"

重复以上。

然后,当在最后一个目录中时,我就完成了。我可以删除所有以前的备份目录。 (然后我可以将 .git 目录移动到我当前的工作网络目录中并重复。这样我的带有历史记录的网络目录现在都在 git 中。)

从我的测试来看,每一步都需要 10 分钟。

我是 git 新手。另外,是否有人可以告诉我是否/如何还添加日期标签(如果它对此有好处。)

有没有更好的办法?

最佳答案

而不是 git add . ,它总是会添加文件,我推荐 git add -A 它将“查找新文件以及暂存修改后的内容并删除不再在工作树中的文件”(来自 git docs )。

我会写一个看起来像这样的脚本:

#!/bin/bash
git init
GIT_DIR=$(pwd)
for dir in $(find . -maxdepth 1 -name web_backup_\* | sort); do
  pushd $dir
  git add -A
  git commit -m "Backup for $dir."
  git tag $dir
  popd
done

关于git - 复古从备份目录创建一个 git 存储库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12697617/

10-12 12:40
查看更多