Как загрузить только 2 файла из github с помощью командной строки?
Что-то в строках:
git fetch git://github.com/username/Project.git/file1
git fetch git://github.com/username/Project.git/file2
Как загрузить только 2 файла из github с помощью командной строки?
Что-то в строках:
git fetch git://github.com/username/Project.git/file1
git fetch git://github.com/username/Project.git/file2
Если вы перейдете на страницу и просмотрите ссылки, предоставленные "raw" (в верхнем левом углу, при просмотре файла). Вы увидите, что вы можете получить к нему доступ:
https://github.com/username/repository/raw/$changeset_hash/path/to/file
Вместо $changeset_hash
вы также можете указать ветку (например, мастер) или тег.
Вы можете получить необработанный файл, используя что-то вроде wget.
Доступ к одному файлу непосредственно из .git-репозитория невозможен (насколько я знаю) из-за того, как хранятся данные.
edit:. Когда вы хотите получить доступ к файлу из частного репо, сначала вам нужно создать токен доступа с соответствующими разрешениями в настройках своей учетной записи. Вместо вызова url выше вы можете использовать github API для доступа к содержимому файла. Для получения необработанных данных обязательно используйте заголовок Accept-header для настраиваемых типов мультимедиа. Это может выглядеть примерно так:
curl \
-H 'Authorization: token $YOUR_TOKEN' \
-H 'Accept: application/vnd.github.v3.raw' \
-O \
-L 'https://api.github.com/repos/:owner/:repo/contents/:path'
-O
сохранит содержимое в локальном файле с тем же именем, что и имя удаленного файла. Для удобства использования вы можете обернуть его в script. @Chris_Withers предложил отредактировать с хорошим фрагментом python, который, к сожалению, был отклонен, как большая часть изменения ответа.
Скопируйте ссылку на конкретный файл из GitHub. (Когда вы открываете файл в Github, в правом верхнем углу вы можете увидеть, как открыть файл в необработанном режиме. Откройте его в необработанном режиме и скопируйте URL-адрес)
Теперь используйте команду curl в командной строке для загрузки файла.
curl -o filename raw-link-to-file
git checkout
например:
git checkout master~2 file1
(git checkout --help
для справки)