Local Git как автосохранение - PullRequest
       1

Local Git как автосохранение

2 голосов
/ 19 декабря 2011

Я бы хотел, чтобы локальный GIT - это мой домашний каталог, в котором реализовано автосохранение в хранилище, которое происходит каждые пять минут.

У меня есть два вопроса:

  1. Это нормальное занятие?
  2. Как можно написать скрипт, который реализует эту функциональность для указанного набора каталогов в домашнем каталоге на linux?

Цель состоит в том, чтобы автоматически захватывать все истории всех важных файлов в моем домашнем каталоге без какой-либо информации от меня. Я могу использовать это всякий раз, когда я облажался.

Ответы [ 3 ]

2 голосов
/ 19 декабря 2011

Напишите скрипт оболочки, который будет входить в каждый каталог, который вы хотите, и запускать

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

и затем используйте cron для запуска скрипта каждые 5 минут.

2 голосов
/ 19 декабря 2011

здравомыслие все относительно!

Я думаю, это зависит от того, почему вы делаете резервную копию. Если это из-за аппаратного сбоя, это не будет работать, потому что репозиторий находится в той же папке (/ home /), поэтому, если папка уходит, репо уходит. Если, конечно, вы не отправляете его в хранилище на другом компьютере в качестве фактической резервной копии.

Мы используем git для хранения важных вещей, особенно научных статей и PDF-файлов, чтобы мы могли легко делиться ими.

Вы бы написали cron задание, которое запускает скрипт очень часто. По сути, вы бы написали простой bash скрипт, который периодически делает git commit -a -m "commit message" в вашей папке. Сложнее всего сделать git add для новых файлов, которые были созданы, чтобы они отслеживались. Скорее всего, вам нужно будет выполнить git status и проанализировать выходные данные из него в своем скрипте, чтобы найти новые файлы, а затем git add этот список. Python может быть самым простым способом сделать это. Затем вы регистрируете это с помощью cron.

Google здесь ваш друг, есть множество примеров того, как зарегистрировать скрипты с помощью cron.

1 голос
/ 19 декабря 2011

Напишите сценарий оболочки для выполнения следующих действий:

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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...