Gitを自動的にpullする方法(常に最新の状態にする)
複数のリポジトリをcloneしていたりすると、いちいちpullをするのは面倒です。
ドキュメントのリポジトリは常に最新にしておきたいです。
これを自動的にpullして、ローカルの作業領域を常に最新にする方法です。
Gitがインストールされていないと自動化はできないので、Gitをインストールします。
またシェルコマンドの中にある、「sshCommand」はGitバージョン2.10.0以上で使用できます。
Gitのバージョンが古い時には、2.10.0以上をインストールします。
[参考記事] Gitの最新版をインストールする方法
vagrantを使っている場合は次のようになります。
まず共有ディレクトリを /vagrantとしたとき、共有ディレクトリにGitのSSH秘密鍵を置きます。
共有ディレクトリに、git_pull.shのファイル名で次の内容を保存します。
改行コードはLFにします。
#!/bin/bash files="/vagrant/*" # vagrantの共有ディレクトリ key_file="/vagrant/id_rsa" # GitのSSH秘密鍵のパス for filepath in $files; do if [ -d $filepath/.git ] ; then git -c core.sshCommand="ssh -o StrictHostKeyChecking=no -i $key_file -F /dev/null" -C $filepath pull --all fi done
vagrantのゲストOS(Linuxなど)にログインして、cronに定期実行の設定をします。
$ crontab -e
*/5 * * * * sh /vagrant/git_pull.sh > /dev/null 2>&1
これで5分おきに、vagrantの共有ディレクトリにあるGitリポジトリを最新のものにpullしてくれます。
(コンフリクトなどがあった時には更新されません)
関連記事
- Gitの最新版をインストールする方法(CentOS7に2系をインストール)
- SSHで初めて接続するホストで、接続するかどうかyes/noを聞かれないようにする
- yumのius(iuscommunity.org)でエラーが出る場合
- 改行コードの自動変換 core.autocrlf core.safecrlf
- シェル実行などでSSHキーを読めない場合
- Linux [Red Hat/CentOSなど]
- 開発環境 ツール類
- Vagrant(ベイグラント)
- CentOS7からCentOS8へのアップグレード
- SOAP APIのツールSoapUI(添付ファイルがShiftJIS/substitutionGroup属性は非対応)
- GoogleChromeでSSL接続を強制される設定(HSTS)のキャッシュを消す方法
- Postfixからpostmaster宛に451Server configuration errorメールが届く
- Postfixの容量制限 (main.cfの設定)
- zend_mm_heap corrupted とは
- ログインできるユーザーに変更する
- WindowsでVagrantを簡単に起動・終了するショートカット(batファイルで操作する)
- Subversion(SVN)でファイルのコミットを除外する
- Mercurialクライアント Eclipseプラグイン(MercurialEclipse)
- PEAR・PECLをインストールする方法
- SSDの現在のTBWを調べる方法 SSDの残り寿命 (Windows Linux CentOS)
- php.ini が見つからない時
- Google Chromeでテキストエリアtextareaのサイズ変更をさせない方法
- 複数バージョンのIEを検証するツール
- httpd.conf [apache設定ファイル]のデフォルト
- ソフトウエアRAIDでストレージを構築しマウントする方法 ディスクの高速化・冗長化
- Microsoft Virtual PC 2007
- LinuxサーバでWindowsのファイルシステムNTFSを読み込む方法
- VirtualBox Interfaceが起動していてシャットダウンができないとき
- PostgreSQLでSCRAM authentication requires libpq version 10 or aboveと出るとき
- telnetの反応がなくなった時に接続を強制的に切断する方法
- Sambaで認証パスワードなし(ゲストユーザー)でアクセスする方法
- McAfeeのアンインストールができない場合の対処法
- UnEditor NoEditor
スポンサーリンク