Git подмодули - исключить определенные файлы/каталоги
Я пытаюсь использовать функцию подмодулей Gits, чтобы включить сторонний код в проект. Мне нужно только несколько файлов из подмодуля и хотите исключить все документы и т.д., Которые приходят с ним.
Как я могу это сделать?
Ответы
Ответ 1
В моем подмодуле у меня была папка /examples
, которую я хотел удалить локально, чтобы эти файлы не просматривались автогенерированным make файлом; origin
должен был не обращать внимания на удаление.
В git CLI:
git update-index --assume-unchanged <path/to/file>
Чтобы снова отслеживать локальные изменения:
git update-index --no-assume-unchanged <path/to/file>
Или в SourceTree, создайте пользовательское действие в соответствии с ответом Fabian Blechschmidt.
ПРИМЕЧАНИЕ Это не то же самое, что "Stop tracking", где origin
действительно прекратит отслеживать файл при фиксации - не то, что вы хотите.
Ответ 2
A git подмодуль - это репозиторий git, встроенный в другой репозиторий git. Помимо этого нет ничего особенного - подмодуль ведет себя так же, как и любой другой репозиторий git. Вы получаете все файлы и всю историю, связанную с репозиторием, когда вы клонируете его.
Если вам просто нужно несколько файлов, и вам не интересно отслеживать историю изменений стороннего проекта, возможно, вам следует просто скопировать определенные файлы в ваш проект и называть это.