Voglio creare un repository per il mio progetto Magento. Ci sono molte cartelle e file nella directory principale e cambio di volta in volta solo una cartella: app / code / local /
Tutto il resto che voglio ignorare. Ma .. non posso "t. Il mio file .gitignore:
*
!app/code/local/
!app/code/local/*
Quindi, quando provo ad aggiungere una cartella al repository, ricevo un errore:
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
Qualcuno può aiutare con questo?
risposte:
17 per risposta № 1Prova di seguito per ignorare come ti serve:
/*
!/app/
/app/*
!/app/code/
/app/code/*
!/app/code/local/
La seguente discussione è stata utile: http://git.661346.n2.nabble.com/negated-list-in-gitignore-no-fun-td1675067.html , in particolare quanto segue da Linus:
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.
Quindi, in pratica, per ogni livello in cui devi andare, annulla il riconoscimento di quella cartella e ignora i contenuti all'interno di quella cartella.
0 per risposta № 2
Questo .gitignore è nella radice del repository?
Prova questo:
/*
!/app/code/local
0 per risposta № 3
Secondo la documentazione:
"Non è possibile includere nuovamente un file se viene esclusa una directory padre di quel file."
Ad esempio, se avessi già lavorato conil repository e ha detto a Git di ignorare la directory principale, ha effettuato alcuni commit, quindi è tornato indietro e ha provato a consentire una sottodirectory della directory esclusa, non includerà quella sottodirectory anche se il tuo .gitignore
il file è corretto. Per ovviare a questo, è necessario forzare aggiungerlo (con il -f
bandiera):
git add -f {file}
Una volta fatto ciò, verranno monitorate le modifiche successive.