2012-03-05 14 views
7

Zgodnie z this thread, należy zaimplementować wyłączenie w Git's sparse-checkout feature. Czy to jest?Git rzadkie kasie z wyłączeniem

Załóżmy, że mam następującą strukturę:

papers/ 
papers/... 
presentations/ 
presentations/heavy_presentation 
presentations/... 

teraz chcę, aby wykluczyć presentations/heavy_presentation od kasie, pozostawiając resztę w kasie. Nie udało mi się tego uruchomić. Jaka jest prawidłowa składnia tego?

Odpowiedz

4

bym oczekiwać coś jak poniżej, aby pracować:

/* 
!presentations/heavy_presentation 

Ale tak nie jest. I wypróbowałem wiele innych kombinacji. Myślę, że wykluczenie nie jest prawidłowo wdrożone i są robaki wokół niej (jeszcze)

coś takiego:

presentations/* 
!presentations/heavy_presentation 

działa choć i dostaniesz prezentacje folderu bez folderze heavy_presentation.

Tym sposobem obejmie to wszystko wyraźnie.

+0

Dzięki, potwierdzone.Zmodyfikowałem twój wpis, aby dodać kolejny przykład, który nie działał. – krlmlr

3

Miałem ten sam problem. Naprawiłem go z czymś takim:

!presentations/heavy_presentation 
presentations/* 

Jak rozumiem, że to działa: Odczytuje regułę plików przez reguły. Jeśli coś jest zawarte, zawiera wszystkie ścieżki, które zawierają to słowo, i nie zmienia już jego statusu do końca rzadkiej kasy. Jeśli dodasz regułę wykluczenia przed włączeniem, moim zdaniem najpierw usunie pliki, a następnie zaznaczy wszystkie jako uwzględnione.

Nie jestem do końca pewien, to jest to, co przypuszczałem na podstawie mojego doświadczenia i pracował dla mnie. Mam nadzieję, że komuś to pomoże.

3

Niestety żadna z powyższych nie zadziałała, więc spędziłem bardzo długo próbując różnych kombinacji pliku sparse-checkout.

W moim przypadku chciałem pominąć foldery z konfiguracjami IntelliJ IDEA.

Oto co zrobiłem:


Run git clone https://github.com/myaccount/myrepo.git --no-checkout

Run git config core.sparsecheckout true

Utworzono .git\info\sparse-checkout z następującą treść

!.idea/* 
!.idea_modules/* 
/* 

Run 'git checkout -', aby uzyskać wszystkie pliki.


Critical rzeczą, aby to dzieło było dodanie /* po nazwie folderu.

Mam git 1,9

Powiązane problemy