我一直致力于设置一个 Windows 任务,以使用域用户帐户自动将共享网络驱动器文件夹中的所有项目推送到在线存储库中(更多信息此处)。我已在此共享网络驱动器文件夹之外设置了本地 git 存储库,以防止其他用户运行 git 命令或弄乱存储库设置。当我的自动化任务从存储库外部添加文件时,我遇到了这个错误:
error: open("Path/to/file/I/want/to/add.txt"): Permission denied
error: unable to index file 'Path/to/file/I/want/to/add.txt'
fatal: adding files failed
这是我的任务配置:
在此操作的属性中:
C:\Window\System32\cmd.exe
/D /C D:\repo\commit.bat
D:\repo
这是任务计划程序运行的bat文件,用于从网络驱动器文件夹上传文件:
git config --global user.name "domainUser"
git config --global user.email "[email protected]"
git config --system --add safe.directory D:/repo
set HOMEDRIVE=C:
set HOMEPATH=\Users\domainUser
cd /D D:\repo
D:\path\to\git.exe --git-dir=C:\repo\.git add --all > log.txt 2>&1
D:\path\to\git.exe --work-tree^=//path/to/network/drive/folder add --all > log.txt 2>&1
D:\path\to\git.exe --git-dir=C:\repo\.git -c user.name="domainUser" -c user.email="[email protected]" commit --author="domainUser<[email protected]>" -m "message" >> log.txt 2>&1
echo Pushing changes... >> log.txt 2>&1
set GIT_TRACE=true
D:\path\to\git.exe --git-dir=C:\repo\.git push origin main >> log.txt 2>&1
domainUser 还从本地存储库上传文件,例如 README.md,并且这些文件不存在“权限被拒绝”问题。这只是外部文件。
请记住,出于安全原因,此信息已被屏蔽。
权限问题已解决
Group or user names
部分感谢大家花时间帮助解决这个问题。