在我的工作中,
下载自定义git预提交挂钩(来自bitbucket repo)的当前方法在bash脚本中使用curl
,如下所示:
之前已分配$USERNAME
,$PASSWORD
和$build_support_url
。
...<some code>...
# Download templates from http://swbuilds to home dir
echo "Downloading pre-commit.pl hook"
curl -u $USERNAME:$PASSWORD --fail --show-error --silent --output ~/.git_template/hooks/pre-commit $build_support_url/pre-commit.pl
echo "Downloading prepare-commit-msg.py hook"
curl -u $USERNAME:$PASSWORD --fail --show-error --silent --output ~/.git_template/hooks/prepare-commit-msg $build_support_url/prepare-commit-msg.py
echo "Downloading commit-msg.py hook"
curl -u $USERNAME:$PASSWORD --fail --show-error --silent --output ~/.git_template/hooks/commit-msg $build_support_url/commit-msg.py
# Force the execute bit to be set
chmod a+x ~/.git_template/hooks/*
# Also download the customer list used by the pre-commit hook
echo "Downloading customer list"
curl -u $USERNAME:$PASSWORD --fail --show-error --silent --output ~/.git_template/customer_list.txt $build_support_url/customer_list.txt
# Configure Git templates
git config --global init.templatedir '~/.git_template'
...<some more code>...
这会从链接$build_support_url/pre-commit.pl
下载预提交挂钩,并将它们放在~/.git_template
文件夹中。
但是,由于此过程使用curl
和HTTPS
,因此每次运行脚本时都需要输入密码。
为避免这种麻烦,我被告知要编辑脚本,以便使用SSH
下载文件(不需要密码)。
有关如何在此脚本中使用SSH
获取这些文件的任何建议?
感谢。
答案 0 :(得分:0)
您可以将凭据存储在~/.netrc
文件中,以便curl将其用作explained here。
答案 1 :(得分:0)
解决方案只是使用'git archive'命令而不是curl