Chcę utworzyć repozytorium dla mojego projektu Magento. W katalogu głównym jest wiele folderów i plików, a ja zmieniam od czasu do czasu tylko jeden folder: app / code / local /
Wszystko inne, co chcę zignorować. Ale .. nie może. Mój plik .gitignore:
*
!app/code/local/
!app/code/local/*
Następnie, gdy próbuję dodać folder do repozytorium, pojawia się błąd:
git add app/code/local/Mds/
The following paths are ignored by one of your .gitignore files:
app
Use -f if you really want to add them.
fatal: no files added
Czy ktoś może w tym pomóc?
Odpowiedzi:
17 dla odpowiedzi nr 1Spróbuj zignorować, tak jak potrzebujesz:
/*
!/app/
/app/*
!/app/code/
/app/code/*
!/app/code/local/
Pomocna była następująca dyskusja: http://git.661346.n2.nabble.com/negated-list-in-gitignore-no-fun-td1675067.html , szczególnie następujące z Linusa:
That"s by design. You"ve chosen to ignore those directories; they match "*"
themselves. Thus, "git add ." doesn"t descend into them looking for files.
Zasadniczo dla każdego poziomu, na który musisz wejść, anuluj ignorowanie tego folderu i ignoruj zawartość tego folderu.
0 dla odpowiedzi nr 2
Czy to .gitignore jest w katalogu głównym repo?
Spróbuj tego:
/*
!/app/code/local
0 dla odpowiedzi № 3
Według dokumentacja:
„Nie można ponownie dołączyć pliku, jeśli katalog macierzysty tego pliku jest wykluczony.”
Na przykład, jeśli już pracowałeśrepozytorium i powiedział Gitowi, aby zignorował katalog nadrzędny, dokonał kilku zatwierdzeń, a następnie wrócił i próbował zezwolić na jakiś podkatalog katalogu wykluczonego, nie będzie zawierał tego podkatalogu nawet jeśli twój .gitignore
plik jest poprawny. Aby obejść ten problem, musisz wymusić dodanie go (za pomocą -f
flaga):
git add -f {file}
Po wykonaniu tej czynności kolejne zmiany będą śledzone.