Ho un repository Git di Bitbucket gestito con Sourcetree.
Ho due cartelle che voglio impegnare, ma devo ignorare tutti i file in queste cartelle, perché contengono solo file temporanei.
Come posso fare ciò?
Ho un repository Git di Bitbucket gestito con Sourcetree.
Ho due cartelle che voglio impegnare, ma devo ignorare tutti i file in queste cartelle, perché contengono solo file temporanei.
Come posso fare ciò?
Risposte:
Aggiungi questo a .gitignore:
*
!.gitignore
.gitginore
è un file normale, basta crearlo nella directory quale contenuto vuoi ignorare.
Per gli utenti di Sourcetree: se vuoi ignorare una cartella specifica, seleziona semplicemente un file da questa cartella, fai clic destro su di esso e fai "Ignora ...". Avrai un menu a comparsa in cui puoi ignorare "Ignora tutto sotto: <LA TUA CARTELLA NON DESIDERATA>"
Se l'opzione "Ignora" è disattivata, devi selezionare l'opzione "Interrompi monitoraggio". Dopodiché, il file verrà aggiunto ai file Staged con un segno meno sull'icona di sfondo rosso e l'icona del file nell'elenco dei file Unstaged cambierà in un segno di domanda su sfondo viola. Ora nell'elenco dei file non archiviati , l'opzione "Ignora" è nuovamente abilitata. Basta fare come descritto sopra.
Fare clic con il tasto destro su un file → Ignora → Ignora tutto sotto .
Se l' opzione Ignora è disattivata, allora:
Per quanto ne so, Git non tiene traccia delle cartelle, solo dei file, quindi le cartelle vuote (o le cartelle in cui tutti i file vengono ignorati) non possono essere salvate. Se ad esempio hai bisogno che la cartella sia presente a causa di qualche passaggio nel tuo processo di costruzione, forse puoi farla creare dal tuo strumento di costruzione? Oppure puoi mettere un file vuoto e non ignorato nella cartella e salvarlo.
Dopo aver battuto la testa su questo per almeno un'ora, offro questa risposta per cercare di espandere i commenti che altri hanno fatto. Per ignorare una cartella / directory, procedi come segue: se non hai un file .gitignore nella radice del tuo progetto (che si chiama esattamente ".gitignore"), crea un file di testo fittizio nella cartella che desideri escludere. All'interno dell'albero di origine, fai clic con il pulsante destro del mouse su di esso e seleziona Ignora. Otterrai un popup simile a questo.
Seleziona "Tutto sotto" e seleziona la cartella che desideri ignorare dall'elenco a discesa. Questo creerà un file .gitignore nella directory principale e inserirà la specifica della cartella in esso.
Se hai già una cartella .gitignore nella tua cartella principale, puoi seguire lo stesso approccio sopra, oppure puoi semplicemente modificare il file .gitignore e aggiungere la cartella che desideri escludere. È solo un file di testo. Si noti che utilizza barre in avanti nei nomi di percorso piuttosto che barre rovesciate, come noi utenti Windows siamo abituati. Ho provato a creare un file di testo .gitignore a mano in Windows Explorer, ma non mi ha permesso di creare un file senza nome (cioè con solo l'estensione).
Tieni presente che l'aggiunta di .gitignore e della specifica del file non avrà alcun effetto sui file già tracciati. Se li stai già monitorando, dovrai interrompere il tracciamento. (Fare clic con il pulsante destro del mouse sulla cartella o sul file e selezionare Interrompi monitoraggio.) Li vedrai quindi cambiare da un'icona verde / pulita o ambra / modificata a un'icona rossa / rimossa. Al tuo prossimo commit i file verranno rimossi dal repository e successivamente verranno visualizzati con un'icona blu / ignorata. Un altro collaboratore ha chiesto perché Ignora fosse disabilitato per file particolari e credo che fosse perché stava cercando di ignorare un file che era già stato tracciato. È possibile ignorare solo un file con l'icona di un punto interrogativo blu.
Come accennato da altri: git non tiene traccia delle cartelle, solo dei file.
Puoi assicurarti che esista una cartella con questi comandi (o una logica equivalente):
echo "*" > keepthisfolder/.gitignore
git add --force keepthisfolder/.gitignore
git commit -m "adding git ignore file to keepthisfolder"
L'esistenza del file significherà che chiunque effettui il check-out dal repository avrà la cartella.
Il contenuto del file gitignore significherà che qualsiasi cosa in esso viene ignorata
Non è necessario non ignorare il file .gitignore stesso . È una regola che non servirebbe a nulla una volta commessa.
O
se preferisci mantenere tutte le definizioni da ignorare nello stesso posto, puoi creare .gitignore nella radice del tuo progetto con contenuti in questo modo:
*.tmp # example, ignore all .tmp files in any folder
path/to/keepthisfolder
path/to/keepthatfolder
e per garantire che le cartelle esistano
touch path/to/keepthisfolder/anything
git add --force path/to/keepthisfolder/anything
git commit -m "ensure keepthisfolder exists when checked out"
"qualsiasi cosa" può letteralmente essere qualsiasi cosa. I nomi comunemente usati sono .gitignore, .gitkeep, empty.
Se l' opzione Ignora è disattivata, è necessario interrompere il monitoraggio del file prima di poterlo ignorare. Puoi semplicemente fare clic con il pulsante destro del mouse sul file e premere "Stop Tracking".
Accanto dovrebbe apparire un'icona blu. Fare nuovamente clic con il pulsante destro del mouse e fare clic su ignora.
Ignora la cartella completa sull'albero di origine.
Just Open Repository >Repository setting > Edit git ignore File and
you can rite some thing like this :
*.pdb
*.bak
*.dll
*.lib
.gitignore
packages/
*/bin/
*/obj/
Per la cartella bin e la cartella obj scrivi: * / bin / * / obj /
In Sourcetree: ignora semplicemente un file nella cartella specificata. Sourcetree ti chiederà se desideri ignorare tutti i file in quella cartella. È perfetto!
*
mezzi ignorano tutti i file e i!.gitignore
mezzi non ignorano il file stesso