- 根据目标git库的更新记录 对本地库进行更新
- 查找两个commit之间的diff 遍历diff
- 区分文件类型 区分删除/新增/修改
- 判断文件状态 文件 删除/新增 会直接修改到本地库 不会判断新增文件中是否有带替换的词 需要脚本完成后 自行进本地库进行修改
- 文件类型 txt/code-修改 会查验本地文件是否有规避词 替换文件是否有替换词 如果命中 会将本地文件 替换文件 放置在update路径对应的类型文件夹下
- 文件类型 unknow/png-修改 会直接将本地文件 替换文件 放置在update路径对应的类型文件夹下
- 文件类型通过后缀判断 具体什么后缀 通过json输入
- 此脚本只为便利 复制文件 可能会出现条件不全的时候 会出错 例如将png后缀的文件设置为code 因此需要在脚本跑完后 自行查验本地库git 修改记录 验证修改是否正常
优先从参数中获取 参数没有则从config.json中获取
-j 可选 需要规避的词组 用;号隔开
-r 可选 需要替换的词组 用;号隔开
-w 可选 git库与脚本位置的相对路径
-l 可选 本地库与脚本位置的相对路径
-a 可选 git库 较旧的提交id
-b 可选 git库 较新的提交id
-
txtType
-
codeType
-
imgType
为后缀区分字段 按;分割 带.将会匹配类型 不带.将会匹配文件名 -
judgementWord 同-j
-
replaceWord 同 -r
-
aCommit 同 -a
-
bCommit 同 -b
-
localPath 同 -l
-
workPath 同 -w
- 首先使用vscode处理合并文件夹内的本地文件与替换文件 并删除无用的那一个文件 (openVscode.command 需要通过vscode app导入code shell命令)
- 双击运行合并文件夹内的copy.command
- 脚本自动将剩下的文件重命名 并移动到本地库中
脚本运行时均会产生log 放置在脚本目录下的update文件夹
PS: 如果部分远程目录与本地目录无法做到对应 文件会默认为新增 因此需要特别检查 远程目录与本地目录不重合的部分是否有文件新增