我希望我的存储库的本地目录在目录中的任何文件发生更改时基本上触发提交/推送。
我研究了inotify-tools,特别是这个命令:
inotifywait -q -m -e CLOSE_WRITE --format="git commit -m 'auto commit' %w && git push origin <<branch>>" <<file>> | bash
但看起来这是特定于文件的,而我希望它侦听本地目录中任何文件的任何更改。有想法吗?
git 脚本会监听更改,如果有任何更改则自动提交
cd /Users/[username]/[project-path]
while true; do
changes=$(git diff --name-only HEAD)
if [ ! -z "$changes" ]; then
git add .
timestamp=$(date +%Y-%m-%d-%H-%M-%S)
git commit -m "Auto-commit at $timestamp"
git push origin
fi
sleep 5
done
您可能想查看git-watch。它使用 inotifywait 来触发“同步”,但它也支持其他触发器,例如当远程计算机推送提交时,或者只是用户通过按
s
按钮强制同步时。