Да, метод выше настолько велик. И я попробовал некоторые из них. Наконец, я нашел такой метод:
from threading import Timer
def sync():
do something...
sync_timer = Timer(self.interval, sync, ())
sync_timer.start()
Точно так же, как рекурсивный.
Хорошо, я надеюсь, что этот метод может удовлетворить ваши требования. :) [/ Д2]
Два комментария:
1/ Я бы рекомендовал иметь либо голое репо, либо bundle (один файл, легче перемещать) для вашего сетевого ресурса
2/ Я бы лучше добавил network_repo как remote в ваше десктопное репо и толкал оттуда (git push --force network_repo master
): вы остаётесь в своём рабочем репо.
Вам не следует делать rebase, если вы собираетесь брать из другого репозитория.
Если вы не против переопределения изменений в сетевом ресурсе, вы можете сделать следующее:
git fetch origin master
git reset --hard origin/master
Это приведет к сбросу локального мастера на мастер исходного кода.
Предупреждение: это жёсткий сброс, он потеряет все ваши изменения (зафиксированные* или нет).
Но я предполагаю, что на самом деле у вас нет никаких изменений, и это в основном просто резервное копирование.
* Примечание: технически говоря, зафиксированные изменения не теряются, пока не истекает срок их действия после перезагрузки, но для всех намерений и целей они фактически потеряны.