Насколько я могу судить, загрузка одного файла из репозитория git, обслуживаемого через http
, в настоящее время невозможна. Я считаю, что GitHub имеет отдельную функцию «загрузки», которую они хотят, чтобы люди использовали вместо нее (но я не знаю, будет ли он поддерживать загрузку одного файла).
Обходной путь - клонировать весь репозиторий (!) И затем извлечь интересующий файл. Вот функция bash, которая выполняет эту работу:
git-cat() {
if [ -z "$1" -o -z "$2" ]; then
echo "Usage: git-cat REPO_URL FILE [BRANCH]"
exit 1
fi
tmprepo=`mktemp -d -t gitrepo.XXXXXX`
reponame=$1
filename=$2
branchname=$3
if [ -z "$branchname" ]; then
branchname="master"
fi
git clone -nq $reponame $tmprepo &&
git --git-dir $tmprepo/.git show ${branchname}:${filename} &&
rm -rf $tmprepo
}