git无法在repo之外索引文件(Permission Denied)

0h4hbjxa  于 12个月前  发布在  Git
关注(0)|答案(1)|浏览(126)

我一直致力于设置一个windows任务,以自动将所有项目从共享网络驱动器文件夹推送到具有域用户帐户的在线存储库中(more info here).我已经在这个共享网络驱动器文件夹之外设置了我的本地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

字符串
下面是我的任务配置:

常规页签

  • 用户帐户设置为“domainUser”
  • 选择“无论用户是否登录都运行”
  • “以最高权限运行”已选中

操作页签

  • 操作设置为“启动程序”

在此操作的属性中:

  • 程序/脚本设置为C:\Window\System32\cmd.exe
  • 将参数设置添加到/D /C D:\repo\commit.bat
  • 开始设置为D:\repo

Conditions页签

  • 默认检查到位
  • 唤醒计算机以运行此任务已选中

下面是任务调度程序运行的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也上传文件从本地repo,如README.md,并没有一个“pemission denied”问题与这些文件.它只是外部文件.
请记住,出于安全原因,此信息已被屏蔽。

h6my8fg2

h6my8fg21#

权限问题已解决,

  • 导航到网络驱动器
  • 打开我需要权限才能打开的文件夹
  • 打开文件夹属性窗口
  • 打开安全选项卡
  • 将我的域用户添加到Group or user names部分
  • 给予我的域用户以下权限:修改、读取和执行、列出文件夹内容和读取。

谢谢大家花时间来帮助解决这个问题。

相关问题