Macのcronでgitの更新(add, commit, push)を自動化して定期実行する

公開日:
目次

Markdownの記事を書いたり、プログラムのコードを更新したりする際に、毎回Gitコマンドを実行するのが面倒になった経験はありませんか?そうした日常的な作業を自動化するため、cronを使ってGit操作を定期実行する方法について、私の備忘録として記録しておきます。

crontabを開く

cronの設定はcrontabを使って簡単に追加できます。まずは、以下のコマンドを実行してcrontabを編集モードで開きます。

crontab -e

ここでのeはedit(編集)の意味です。覚えておくと便利です。

cronの設定を追加する

crontabを開いたら、次のような行を追加します。

0 0 * * * cd /path/to/your/git/repository && git add . && git commit -m "Automatic commit" && git push

このコマンドは、いくつかの部分に分けて理解することができます。

  • 0 0 * * *:これはcronのスケジュール設定で、分 時 日 月 曜日の順に設定します。0 0 * * *は毎日午前0時に実行されることを意味します。
  • cd /path/to/your/git/repository:指定されたGitリポジトリのディレクトリに移動します。
  • git add .:現在のディレクトリ以下の変更されたすべてのファイルをステージングエリアに追加します。
  • git commit -m "Automatic commit":変更をコミットし、コミットメッセージとして"Automatic commit"を使用します。
  • git push:ローカルの変更をリモートリポジトリにプッシュします。

この1行で、毎日午前0時に指定されたGitリポジトリの変更をステージングし、コミットし、そしてリモートリポジトリにプッシュするcronジョブが設定されます。

定期実行を停止する

もし定期実行を一旦停止したい場合は、設定行の前に#を追加してコメントアウトします。

#0 0 * * * cd /path/to/your/git/repository && git add . && git commit -m "Automatic commit" && git push

もし、設定を完全に削除したい場合は、該当行を削除してください。

こうすることで、毎日のGit操作を自動化し、より効率的な作業が可能になります。これは、定期的に変更をコミットしたいプロジェクトや、簡単なバックアップ手段としても役立ちます。