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. Вы получаете все файлы и всю историю, связанную с репозиторием, когда вы клонируете его.

Если вам просто нужно несколько файлов, и вам не интересно отслеживать историю изменений стороннего проекта, возможно, вам следует просто скопировать определенные файлы в ваш проект и называть это.