720 Stimmen

Wie ignoriere ich Dateien in Subversion?

Wie ignoriere ich Dateien in Subversion?

Und wie finde ich Dateien, die nicht unter Versionskontrolle stehen?

22voto

d.danailov Punkte 9178

Ich habe den Artikel .svnignore Beispiel für Java gefunden.

Beispiel: .svnignore für Ruby on Rails,

/log

/public/*.JPEG
/public/*.jpeg
/public/*.png
/public/*.gif

*.*~

Und danach:

svn propset svn:ignore -F .svnignore .

Beispiele für .gitignore. Sie können es für Ihr .svnignore verwenden

https://github.com/github/gitignore

1 Stimmen

Ich habe gemacht, was du gesagt hast ... aber wenn ich svn status ausführe, zeigt es immer noch die ignorierten Dateien mit "?" an.

0 Stimmen

Ich habe nie mit svn status überprüft, sondern mit svn add * und danach svn commit, dass das Ignorieren von Dateien nicht committet wird.

0 Stimmen

Wenn eine Datei "a.txt" bereits in der Versionskontrolle ist, wird das Ignorieren durch den Befehl wie "svn propset svn:ignore -F .svnignore a.txt" durchgeführt? Ist das korrekt?

10voto

Kenneth Punkte 1167

Beim Verwenden von propedit stellen Sie sicher, dass keine Leerzeichen am Ende vorhanden sind, da dies dazu führen kann, dass die Datei von der Ignorierliste ausgeschlossen wird.

Diese werden automatisch eingefügt, wenn Sie auf Linux die Tabulatortaste verwendet haben, um die Datei zuerst zu erstellen:

svn propset svn:ignore 'file1
file2' .

7 Stimmen

Dies funktioniert nur für einige Shells wie z.B. bash. Beachten Sie, dass das erneute Ausführen des propset-Befehls den vorherigen Satz von Mustern überschreibt.

1 Stimmen

Müssen also file1 und file2 auf separaten Zeilen stehen?

8voto

msangel Punkte 9340

Außerdem, wenn Sie Tortoise SVN verwenden, können Sie Folgendes tun:

  1. Im Kontextmenü "TortoiseSVN" auswählen, dann "Eigenschaften" auswählen
  2. In dem erscheinenden Fenster auf "Neu" klicken, dann "Erweitert" auswählen
  3. In dem erscheinenden Fenster gegenüber von "Eigenschaftsname" "svn:ignore" auswählen oder eingeben, gegenüber von "Eigenschaftswert" den gewünschten Dateinamen oder Ordnernamen oder Dateimuster eingeben (in meinem Fall war es "*/target"), auf "Eigenschaft rekursiv anwenden" klicken
  4. Ok. Ok.
  5. Bestätigen

8voto

bkbilly Punkte 193

Eine weitere Lösung ist:

svn st | awk '/^?/{print $2}' > svnignore.txt && svn propget svn:ignore >> svnignore.txt && svn propset svn:ignore -F svnignore.txt . && rm svnignore.txt

oder Zeile für Zeile

svn st | awk '/^?/{print $2}' > svnignore.txt 
svn propget svn:ignore >> svnignore.txt 
svn propset svn:ignore -F svnignore.txt . 
rm svnignore.txt

Was es macht:

  1. Erhält den Status der Dateien aus dem SVN
  2. Speichert alle Dateien mit ? in der Datei "svnignore.txt"
  3. Holt sich die bereits ignorierten Dateien und fügt sie der Datei "svnignore.txt" hinzu
  4. Sagt dem SVN, die Dateien in "svnignore.txt" zu ignorieren
  5. Entfernt die Datei

6voto

范陆离 Punkte 81
  1. cd ~/.subversion
  2. öffnen Sie die Konfigurationsdatei
  3. Suchen Sie die Zeile wie 'global-ignores'
  4. Setzen Sie die Dateitypen wie folgt: global-ignores = *.o *.lo *.la *.al .libs *.so .so.[0-9] *.pyc *.pyo 88 *.rej ~ ## .#* .*.swp .DS_Store node_modules output

0 Stimmen

Vielen Dank, Ihre Antwort ist die einzige, die die config Datei erwähnt.

0 Stimmen

Diese Antwort erwähnt es auch @HenriquedeSousa stackoverflow.com/a/86052/7724 und erklärt auch, dass es eine lokale Client-only-Methode zum Ignorieren von Dateien ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X