目录更改时如何自动将更改推送到 git

问题描述 投票:0回答:2

我希望我的存储库的本地目录在目录中的任何文件发生更改时基本上触发提交/推送。

我研究了inotify-tools,特别是这个命令:

inotifywait -q -m -e CLOSE_WRITE --format="git commit -m 'auto commit' %w && git push origin <<branch>>" <<file>> | bash

但看起来这是特定于文件的,而我希望它侦听本地目录中任何文件的任何更改。有想法吗?

bash git inotify
2个回答
0
投票

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

0
投票

您可能想查看git-watch。它使用 inotifywait 来触发“同步”,但它也支持其他触发器,例如当远程计算机推送提交时,或者只是用户通过按

s
按钮强制同步时。

© www.soinside.com 2019 - 2024. All rights reserved.