web-dev-qa-db-ja.com

プロジェクトの変更を毎週gitにコミットするcronジョブを作成するにはどうすればよいですか?

プロジェクトに加えられた変更の履歴トランスクリプトを作成する目的でgitを使用しています。これは理想的な使用法ではないことは理解していますが、簡潔にするために説明しないさまざまな理由で選択した使用パターンです。

毎日または毎週リポジトリに変更をコミットするcronジョブを作成するにはどうすればよいですか?

Ubuntu10.10で最新バージョンのgitを使用しています。

8
Jason
0 20 * * 0 /path_to_script

これにより、毎週日曜日の現地時間20:00に、指定されたコマンド(/path_to_script'を置き換えます)が実行されます。 cronジョブの構文はかなり単純で、コードの位置を覚えなくても作成するのに役立つ slick tool があります。

この場合、コマンドはコミットを実行するスクリプトである必要があります。あなたの場合、クローンディレクトリに変更する簡単なシェルスクリプトを書いてからコミットを実行するのが最も簡単だと思います。 ~/commit.shにファイルを作成し、その中に入れます(もちろん、/location/of/cloneを置き換えます)


#!/bin/sh
cd /location/of/clone
git-commit -m "commit message, to avoid being prompted interactively"

次に、chmod +x ~/commit.shを実行可能にし、cronジョブでそれを実行します(~を使用するのではなく、フルパスで参照します)。

9
jcrawfordor

実行crontab -eユーザーのcronjobを編集し、次の行を挿入します。

0 20 * * 0 (cd /path/to/myproject && git add . && git commit -m "Automatic Commit" && git Push)

もちろん、動作するリモートリポジトリを含むGITリポジトリを設定する必要がありますが、それはこの質問の範囲外です。

2
speakman