3

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

我有两个问题:

  1. 这是明智的做法吗?
  2. 如何为 linux 上的主目录中的一组指定目录编写实现此功能的脚本?

目的是自动捕获我的主目录中所有重要文件的所有历史记录,而无需我的任何输入。每当我搞砸时,我都可以使用它。

4

3 回答 3

3

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

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

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

于 2011-12-19T14:52:10.550 回答
3

理智都是相对的!

我想这取决于你为什么要备份。如果是硬件故障,那么这将不起作用,因为存储库位于同一文件夹(/home/)中,所以如果文件夹消失,repo 也会消失。当然,除非您将其推送到另一台机器上的存储库作为实际备份。

我们确实使用 git 来存储重要的东西,尤其是研究论文和 PDF,因此我们可以轻松地共享它们。

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

谷歌是你的朋友,有很多关于如何注册脚本的例子cron

于 2011-12-19T14:49:44.493 回答
2

编写一个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 中安排这个脚本。

于 2011-12-19T15:05:43.460 回答