Как вы связываете один файл из другого репозитория git в свой собственный репозиторий? Мне не нужен полный репозиторий, просто один файл. Использование git submodule
похоже на правильный путь, но он хочет захватить все это.
Связывание одного файла с другим хранилищем git
Ответ 1
Учитывая, что единицей работы для git является хранилище (или, точнее, содержимое хранилища), я не думаю, что вы можете легко интегрировать один файл.
Если вам не нужна его история, вы можете просто скопировать ее в репо.
Но если вам нужна история, то некоторые git filter-branch
(как в " git: Как отделить библиотеку от проекта? Filter-branch, subtree? ") В порядке. Это кажется большим усилием только для одного файла.
Теоретически, " git: symlink/ссылка на файл во внешнем репозитории " предлагает решение, сочетающее подмодуль и символическую ссылку.
(от Павла Шимерда)
$ git submodule add /url/submodule/<reponame>
$ ln -s <reponame>/path/to/<linked_file>
$ git add .gitmodules <linked_file>
$ git commit -m "add a symbolic link to <linked_file> with the respective submodule"
С 2011 года (оригинальный ответ выше) Гавриил сообщает в комментариях, что:
- Когда я извлекаю основной репо, связанный файл не является символической ссылкой, а вместо этого содержимое файла - "
<reponame>/path/to/<linked_file>
". Другими словами, git фиксирует цель символической ссылки как содержимое файла.- Но основная идея работает.
Я использую "submodule/path/to/file
" вместо "file
", и это работает