Я хочу иметь два каталога в одном репозитории git. Мой метод выбора — создать репозиторий git в каталоге верхнего уровня, а затем использовать .gitignore для внесения в белый список двух интересующих каталогов. Требования находятся в комментариях к моей попытке файла .gitignore:
# Blacklist everything
*
# Whitelist directories of interest and their contents
# stage files in directory A/ recursively
!A/
!A/*
# stage files in directory B/B1/ recursively (without staging files in B/)
!B/B1/
!B/B1/**
# Whitelist files of interest
# stage only the .md files (not .txt files)
!*.md
Как написать файл .gitignore, который содержит два каталога в белом списке?
Приведенный выше файл gitignore основан на .gitignore игнорировании папки из белого списка
Вот каталог, в котором я тестировал .gitignore:
$ find A B C
A
A/a.md
A/a.txt
A/A1
A/A1/a1.md
A/A1/a1.txt
B
B/b.md
B/b.txt
B/B1
B/B1/b1.md
B/B1/b1.txt
C
C/c.md
Вот как я тестировал файл .gitignore:
$ find A B C #list all paths
$ git init
#test .gitignore:
$ git add . --dry-run #show what would be staged
#edit gitignore and test again
Ожидаемый результат:
$ git add . --dry-run
add 'A/A1/a1.md
add 'A/a.md
add 'B/B1/b1.md