Вы получаете эту ошибку, если у вас есть ограничение T
как class
Первоначально я упоминал в 2012 году git archive
(см. Джаред Форсайт ] ответ и Роберт Найт ответ ), поскольку git1.7.9.5 (март 2012) , Пол Браннан ответ :
git archive --format=tar --remote=origin HEAD:path/to/directory -- filename | tar -O -xf -
Но: в 2013 году это было невозможно для удаленных URL https://github.com .
См. Старую страницу « Могу ли я заархивировать репозиторий? »
Текущая (2018 г.) страница « Об архивировании содержимого и данных на GitHub » рекомендует использовать сторонние службы, такие как GHTorrent или GH Archive .
Таким образом, вы также можете иметь дело с локальными копиями / клонами:
В качестве альтернативы вы можете сделать следующее, если у вас есть локальная копия чистого репозитория, как указано в этом ответе ,
git --no-pager --git-dir /path/to/bar/repo.git show branch:path/to/file >file
Или вы сначала необходимо клонировать репо, то есть вы получите полную историю: - в.git repo - в рабочем дереве.
git config core.sparsecheckout true
) .git / info / sparse-checkout
файле Чтобы перечитать рабочее дерево:
$ git read-tree -m -u HEAD
Таким образом, вы получите рабочее дерево, включающее именно то, что вам нужно (даже если это только один файл)
{{1} }Похоже, вы пытаетесь перенести идею из централизованного контроля версий, чего git по своей природе не является - он распространяется. Если вы хотите работать с репозиторием git, вы его клонируете. Затем у вас есть все содержимого рабочего дерева и все истории (ну, по крайней мере, все, что ведет к вершине текущей ветви), а не только одну файл или снимок из одной фиксации.
git clone /path/to/repo
git clone git://url/of/repo
git clone http://url/of/repo
В git вы не "проверяете" файлы перед их обновлением - похоже, это то, что вам нужно.
Многие системы, такие как clearcase, csv и т.д., требуют, чтобы вы "проверили" файл, прежде чем вносить в него изменения. Git не требует этого. Вы клонируете репозиторий, а затем вносите изменения в свою локальную копию репозитория.
После обновления файлов вы можете сделать следующее:
git status
Посмотреть, какие файлы были изменены. Вы добавляете те, которые хотите зафиксировать в index
сначала с помощью (index
- это как список для проверки):
git add .
или
git add blah.c
Затем сделайте git status
, и вы увидите, какие файлы были изменены, а какие находятся в index
, готовые к фиксации или проверке.
Для фиксации файлов в вашей копии репозитория сделайте следующее:
git commit -a -m "commit message here"
Ссылки на руководства и руководства смотрите на git
сайте.
Сначала клонируйте репозиторий с параметром -n, который подавляет проверку всех файлов по умолчанию, и параметром --depth 1, что означает получение только самой последней версии каждого файла
git clone -n git://path/to/the_repo.git --depth 1
Затем проверьте только файл, который вы хотите, например:
cd the_repo
git checkout HEAD name_of_file