Git Watcher 项目使用教程
1. 项目的目录结构及介绍
Git Watcher 项目的目录结构相对简单,主要包含以下几个部分:
git-watcher/
├── README.md
├── git-watcher.sh
└── config.example.json
- README.md: 项目说明文件,包含项目的基本介绍、安装步骤和使用方法。
- git-watcher.sh: 项目的启动脚本,负责监控文件变化并自动提交到 Git 仓库。
- config.example.json: 配置文件示例,用户可以根据需要修改配置参数。
2. 项目的启动文件介绍
git-watcher.sh 是项目的启动文件,主要功能是监控指定目录或文件的变化,并在检测到变化时自动执行 Git 提交操作。以下是该文件的主要内容和功能介绍:
#!/bin/bash
# 检查依赖
if ! command -v inotifywait &> /dev/null; then
echo "需要安装 inotify-tools"
exit 1
fi
# 配置参数
WATCH_DIR="."
GIT_REMOTE="origin"
GIT_BRANCH="master"
# 解析命令行参数
while [[ $# -gt 0 ]]; do
key="$1"
case $key in
-d|--dir)
WATCH_DIR="$2"
shift
shift
;;
-r|--remote)
GIT_REMOTE="$2"
shift
shift
;;
-b|--branch)
GIT_BRANCH="$2"
shift
shift
;;
*)
echo "未知参数: $1"
exit 1
;;
esac
done
# 监控目录变化并自动提交
inotifywait -m -r -e modify,create,delete,move "$WATCH_DIR" --format '%w%f' | while read FILE
do
git add "$FILE"
git commit -m "自动提交: $FILE"
git push "$GIT_REMOTE" "$GIT_BRANCH"
done
- 依赖检查: 检查系统是否安装了
inotifywait
,这是监控文件变化所必需的工具。 - 配置参数: 定义了默认的监控目录、Git 远程仓库和分支。
- 命令行参数解析: 允许用户通过命令行参数自定义监控目录、远程仓库和分支。
- 文件变化监控: 使用
inotifywait
监控指定目录的变化,并在检测到变化时自动执行 Git 提交和推送操作。
3. 项目的配置文件介绍
config.example.json 是配置文件示例,用户可以根据需要修改配置参数。以下是该文件的内容和参数介绍:
{
"watch_dir": ".",
"git_remote": "origin",
"git_branch": "master",
"commit_message": "自动提交: {{file}}"
}
- watch_dir: 指定要监控的目录,默认为当前目录。
- git_remote: 指定 Git 远程仓库,默认为
origin
。 - git_branch: 指定要推送的 Git 分支,默认为
master
。 - commit_message: 指定提交时的消息模板,
{{file}}
会被替换为发生变化的文件名。
用户可以根据实际需求修改这些参数,并将配置文件保存为 config.json
,然后在启动脚本中加载该配置文件。
以上是 Git Watcher 项目的使用教程,涵盖了项目的目录结构、启动文件和配置文件的详细介绍。希望这些内容能帮助您更好地理解和使用该项目。