git提交并使用sh文件推送到带有密码的分支



我正在尝试使用sh文件提交我的更改,输入我的git凭据,并将更改推送到我正在处理的分支。我无法使凭据部分工作

#!/bin/sh
cd pathtomyrepo
git add *.py
git commit -m "made changes"
git push origin mybranch
mygitusername
echo Press Enter...
mygitpassword
echo Press Enter... 

注意:我必须事先运行这个chmod +x pathtomyshscript.sh才能运行sh文件。

我得到的错误是:

错误:向存储库数据库添加对象的权限不足。git/objects致命:无法写入提交对象

我认为这意味着我的凭据没有传递给git。有什么建议吗?这可能吗?

注册SSH密钥可以间接解决您的问题。如果您必须在脚本中使用HTTPS,那么请使用密码管理器!强烈反对在脚本中复制粘贴您的详细信息。

对于macOS,您可以使用钥匙链获取并设置您的Git密码:

GIT_PASSWORD=$(security find-generic-password -w -s '<Service Name>' -a '<account>')

现在,我必须警告,盲目地对回购进行add'ing和commit'ing是而不是好做法!

相反,您可以查找git alias中的游击手,并查找此线程中的git credentials

最新更新