本地Git作为自动保存

时间:2011-12-19 14:45:12

标签: linux git autosave

我希望本地GIT是我的主目录,实现每五分钟发生一次的自动保存到存储库。

我有两个问题:

  1. 这是理智的事吗?
  2. 如何为linux上的主目录中的指定目录集编写实现此功能的脚本?
  3. 目的是在没有任何输入的情况下自动捕获我的主目录中所有重要文件的所有历史记录。每当我搞砸时,我都可以使用它。

3 个答案:

答案 0 :(得分:2)

理智是相对的!

我想这取决于你为什么要备份。如果它是硬件故障,那么这将无法工作,因为存储库位于同一文件夹(/ home /)中,因此如果文件夹运行,则repo会运行。当然,除非您将其作为实际备份推送到另一台计算机上的存储仓库中。

我们确实使用git来存储重要的东西,特别是研究论文和PDF,所以我们可以轻松地分享它们。

你会写一个cron作业,每隔一段时间运行一个脚本。基本上,您会编写一个简单的bash脚本,在您的文件夹中定期执行git commit -a -m "commit message"。棘手的部分是对创建的新文件执行git add,以便跟踪它们。您可能需要执行git status并在脚本中解析其输出以查找新文件,然后查找该列表的git add。 Python可能是最简单的方法。然后在cron.

注册

Google是您的朋友,有很多关于如何使用cron注册脚本的示例。

答案 1 :(得分:2)

编写一个shell脚本,该脚本将进入您想要的每个目录并运行

git add .
git commit -m "new change"
git push

然后使用cron每5分钟运行一次脚本。

答案 2 :(得分:1)

编写一个shell脚本来执行以下操作

1) git status --u=no  //It gives you the files which are modified
2) Iterate through the file list from step 1 and do git add <file>
3) git commit -m "latest change <date:time>"

在cron中安排此脚本。