GitHub で fork したリポジトリで作業して、 fork 元に Pull Request を出すようなワークフローを使っている人向け。
特にお仕事とかで複数人で Pull Request を使うときに便利。
コード
下記のファイルを PATH
の通った場所に置いて、作業ディレクトリで実行すれば良い。
#!/bin/sh while : do date git fetch -p --all CURRENT=`git rev-parse --abbrev-ref HEAD` if [ $CURRENT != 'master' ] then UPSTREAM_MASTER=`git rev-parse upstream/master` ORIGIN_MASTER=`git rev-parse origin/master` if [ $UPSTREAM_MASTER != $ORIGIN_MASTER ] then git branch -f master upstream/master git push origin master fi fi sleep 60 done
date
はスクリプトが動いているか確認するだけの行なので、不要であれば消しても問題ないです。
git-fetch の -p
オプションはリモートでブランチが削除されたら、ローカルの追跡ブランチも一緒に消してくれるオプションです。
使い方
私は ~/bin/polling_github
を作っているので、こんな感じ。
$ cd ~/github/workdir $ polling_github 2016年 1月15日 金曜日 19時53分32秒 JST Fetching origin Fetching upstream