windows - 从 shell 脚本推送到 git Windows 共享
问题描述
我正在尝试使用 Windows 10 上的批处理或 shell 脚本将本地存储库推送到远程 Windows 共享。
这是我在 Powershell/Bash/Git-Bash(在 Windows 上)中使用的命令:
git push --mirror file://[RemoteDriveLetter]:PersonalFolder/MyRepository
我使用镜像命令,因为它只是执行远程备份的情况,以防我的硬盘驱动器发生故障。如果我自己运行该命令,则此命令可以正常工作。
但是,我试图让这个自动化,所以它会每天晚上复制,而我不必做任何事情。因此,我在下面创建了批处理文件(push.bat):
"%ProgramFiles%\Git\bin\sh.exe" --login -i -c "c/repo/sync.sh"
sync.sh的内容:
#!/bin/bash/
cd /c/repo/
git push --mirror file://[RemoteDriveLetter]:PersonalFolder/MyRepository
运行计划的 .bat 文件的组合,然后启动 bash shell。运行此批处理文件时,我得到以下输出:
致命:'[RemoteDriveLetter]:PersonalFolder/MyRepository' 似乎不是 git 存储库致命:无法从远程存储库读取。
请确保您具有正确的访问权限并且存储库存在。
任何想法为什么,当我在 git-bash/powershell/bash 中运行相同的命令时,它会正确推送我的存储库,并在批处理文件/shell 脚本中它会在推送时保释?
我尝试过但没有奏效的事情:
- 将路径封装在单 (') 和双 (") 引号中。
- 以管理员身份运行批处理文件和 shell 脚本
通过设置原始 url 来更改 shell 脚本:
git remote set-url origin file://[RemoteDriveLetter]:PersonalFolder/MyRepository git push --mirror -u origin (and without the -u)
- 将其全部转换为 powershell 脚本
我现在不知所措,请帮助!
解决方案
推荐阅读
- acl - QPID ACL 无效语法
- css - Angular 7 - div中的背景不起作用
- vba - 通过邮件中的回车替换字符
- javascript - 如何使用 JavaScript 合并不同的 JSON 对象?
- macos-high-sierra - 是否可以在 High Sierra (10.13.6) 上安装 Xcode 10.2?
- python - 获取两个列表列表或空列表的交集
- python-3.x - 使用 numpy.linalg.eig 查找特征向量
- ruby-on-rails - 控制器更新中的 ActionController::ParameterMissing(参数丢失或值为空)
- rx-java - RXJava 到底是什么以及它的用途是什么?
- python - 如何从 Pandas DataFrame 中的特定行开始检测过去 2 个月的变化