windows - remove - git tag stackoverflow




Ignorare le directory in repository Git su Windows (12)

Anche nella directory dei progetti \.git\info esiste un file di esclusione che è effettivamente la stessa cosa di .gitignore (credo). Puoi aggiungere file e directory da ignorare in questo.

Come posso ignorare le directory o le cartelle in Git usando msysgit su Windows?


Crea un file chiamato .gitignore nella directory del tuo progetto. Ignora le directory inserendo il nome della directory nel file (con una barra aggiunta):

dir_to_ignore/

Maggiori informazioni here .


Ho avuto alcuni problemi nella creazione di un file in Windows Explorer con a. all'inizio.

una soluzione alternativa era entrare nella shell dei comandi e creare un nuovo file usando "modifica"


Ho avuto problemi simili, lavoro su una catena di strumenti di Windows con un repository condiviso con ragazzi di linux, creano felicemente file con gli stessi nomi [ad eccezione dei casi] in una data cartella.

L'effetto è che posso clonare il repository e avere subito dozzine di file 'modificati' che se avessi fatto il check-in avrebbero creato un disastro.

Ho windows impostato su maiuscole e minuscole e git per non ignorare il caso ma non riesce ancora (nelle chiamate a32 win32 apparentemente).

Se registro i file, devo ricordarmi di non tracciare il file .gitignore.

Ma ho trovato una buona risposta qui http://archive.robwilkerson.org/2010/03/02/git-tip-ignore-changes-to-tracked-files/index.html

Chris


Nel caso in cui sia necessario escludere le sottocartelle, è possibile utilizzare il carattere jolly ** per escludere qualsiasi livello di sottodirectory.

**/build/output/Debug/

Per ignorare un'intera directory in git, il modo più semplice è includere un file .gitignore all'interno della directory di destinazione che contiene semplicemente "*"

Un esempio illustrativo,

Sistema di esempio

/root/
    .gitignore
    /dirA/
        someFile1.txt
        someFile2.txt
    /dirB/
        .gitignore
        someFile3.txt
        someFile4.txt

Obbiettivo

  • ignora il contenuto di / dirB /

Primo livello .gitignore (/root/.gitignore)

  • Qui è dove vanno le tue informazioni gitignore standard

Directory ignorata .gitignore (/root/dirB.gitignore)

  • Questo file viene semplicemente '*' e la directory viene completamente ignorata, se stessa e tutti i file!

ed è così semplice :)


Presumo il problema è che il tuo albero di lavoro è come:

a-cache/foo
a-cache/index.html
b-cache/bar
b-cache/foo
b-cache/index.html
.gitignore

... con il .gitignore che descrivi. Questo ti darà l'output dello git status come:

$ git status
# On branch master
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   .gitignore
#   a-cache/
#   b-cache/

... se i file index.html non sono stati ancora aggiunti al repository. (git vede che ci sono file non firmati nelle directory della cache, ma riporta solo le directory.) Per risolvere questo problema, assicurati di aver aggiunto e impegnato i file index.html :

git add *cache/index.html
git commit -m "Adding index.html files to the cache directories"

... e il tuo git status sarà quindi:

$ git status
# On branch master
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   .gitignore
nothing added to commit but untracked files present (use "git add" to track)

(Ovviamente anche tu vuoi commettere .gitignore , ero solo pigro con questo test case.)


Puoi creare il file ".gitignore" con il contenuto:

*
!.gitignore

Funziona per me e per i semplici.


Se si desidera mantenere una cartella e non i file al suo interno, basta mettere un file ".gitignore" nella cartella con "*" come contenuto. Questo file ignorerà tutto il contenuto dal repository. Ma .gitignore sarà incluso nel tuo repository.

$ git add path/to/folder/.gitignore

Se aggiungi una cartella vuota, ricevi questo messaggio (.gitignore è un file nascosto)

The following paths are ignored by one of your .gitignore files:
path/to/folder/.gitignore
Use -f if you really want to add them.
fatal: no files added

Quindi, usa "-f" per forzare l'aggiunta:

$ git add path/to/folder/.gitignore -f

Sembra che per ignorare i file e le directory ci siano due modi principali:

  1. .gitignore

    • .gitignore file .gitignore nella root del repository oltre alla cartella .git (in Windows assicurati di vedere la vera estensione del file e poi fai .gitignore. (Con il punto alla fine di rendere vuota l'estensione del file))
    • Effettuare la configurazione globale ~/.gitignore_global ed eseguire git config --global core.excludesfile ~/.gitignore_global per aggiungere questo alla tua git config

    nota: i file rintracciati prima possono essere non tracciati eseguendo git rm --cached filename

  2. Repo exclude - Per i file locali che non devono essere condivisi, basta aggiungere il file pattern o la directory al file .git/info/exclude . Queste regole non sono commesse, quindi non sono viste da altri utenti maggiori informazioni here

[aggiornato] Per fare delle eccezioni nella lista dei file ignorati, vedi questa domanda .


Su Windows e Mac, se si desidera ignorare una cartella denominata Flower_Data_Folder nella directory corrente, è possibile eseguire:

echo Flower_Data_Folder >> .gitignore

Se è un file denominato data.txt

echo data.txt >> .gitignore

se è un percorso come "Data / passwords.txt"

echo "Data / passwords.txt" >> .gitignore.


per indicare a GIT di ignorare determinati file o cartelle, devi creare il file .gitignore .

ma in Windows Explorer devi fornire un nome per il file, non puoi creare file con solo estensione, il trucco è creare un file di testo vuoto e andare al prompt dei comandi e cambiare il nome del file in .gitignore

ren "New Text Document.txt" .gitignore

ora apri il file con il tuo editor di testo preferito e aggiungi i nomi di file / cartelle che desideri ignorare. puoi anche usare caratteri jolly come questo *.txt

spero che risponda alla tua domanda





msysgit