2016-04-15 6 views
1

У нас есть репо с кучей проектов. Меня беспокоит только проект «оракул» в рамках репо. Однако, вытащив кодовую базу, я нашел подкаталоги под названием «oracle» в других папках. Есть ли способ получить только родительскую папку?Git редкая проверка, чтобы почтить только папку в корне репо?

git init <repo> 
cd <repo> 
git remote add -f origin <url> 

git config core.sparseCheckout true 

echo "oracle/" >> .git/info/sparse-checkout 

Выход

#ls -l 
    oracle 
    directory123 
    directoryabc 

#find . | grep "oracle" 
    directory123/sub1/sub2/oracle 
    directoryabc/sub1/sub2/sub3/oracle 
+1

Если проект 'oracle' находится в корне вашего репо, у меня возникает ощущение, что запись'/oracle /' вместо 'oracle /' должна делать трюк. – Jubobs

+0

Ну, черт побери! Вы можете отправить ответ, если хотите, и я соглашусь. – luckytaxi

ответ

1

Написав oracle/ к $GIT_DIR/info/sparse-checkout, вы сообщаете свой Git репозиторий только заполнить рабочий каталог с файлами (если таковые имеются) чей родительский каталог называется «Оракул» , Справочники

oracle/ 
directory123/sub1/sub2/oracle/ 
directoryabc/sub1/sub2/sub3/oracle/ 

все удовлетворяют этому условию.

Если вы хотите ограничить sparse checkout к oracle директории, в корне вашего Git репо, вам нужно написать, не oracle/, но /oracle/ (обратите внимание, ведущий слеш) в $GIT_DIR/info/sparse-checkout.