171

Jaki jest najlepszy (lub tak dobry, jak to możliwe) ogólny wzór ignorowania SVN do użycia?Najlepszy ogólny wzór ignorowania SVN?

Istnieje wiele różnych plików IDE, edytora, kompilatora, wtyczki, platformy itp. Oraz niektóre typy plików, które "nakładają się" (tj. Są pożądane w przypadku niektórych typów projektów, a nie w przypadku innych).

Istnieje jednak wiele rodzajów plików, które po prostu nie chcą być włączane automatycznie do źródła, bez względu na specyfikę środowiska programistycznego.

Odpowiedź na to pytanie byłaby dobrym punktem wyjścia dla każdego projektu - wymagającego jedynie dodania kilku potrzebnych elementów specyficznych dla środowiska. Można go również dostosować do innych systemów kontroli wersji (VCS).

+0

Zach Witam, Czytałem ten artykuł z Ciebie: http: //www.zachburlingame. com/2011/03/install-mercurial-and-hosting-reositories-with-centos/i mam kilka pytań. Czy jest jakiś sposób, żeby z tobą skontaktować? Dziękuję za poświęcony czas ... P.S: Nie mogłem znaleźć żadnego innego sposobu na dotarcie do ciebie, chyba że przez ten komentarz tutaj, przepraszam za irytację – Brams

Odpowiedz

190

dodam własne dwa centy na to pytanie:

używam następujących SVN ignorować wzór z TortoiseSVN i Subversion CLI dla macierzystym C++, C#/VB.NET projektów i Perl na Windows i Linux platformy. To działa dobrze dla mnie!

sformatowana do kopiowania i wklejania:

 
*.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store thumbs.db Thumbs.db *.bak *.class *.exe *.dll *.mine *.obj *.ncb *.lib *.log *.idb *.pdb *.ilk *.msi* .res *.pch *.suo *.exp *.*~ *.~* ~*.* cvs CVS .CVS .cvs release Release debug Debug ignore Ignore bin Bin obj Obj *.csproj.user *.user *.generated.cs 

sformatowany dla czytelności:

 
*.o *.lo *.la #*# .*.rej *.rej 
.*~ *~ .#* .DS_Store thumbs.db 
Thumbs.db *.bak *.class *.exe *.dll 
*.mine *.obj *.ncb *.lib *.log 
*.idb *.pdb *.ilk *.msi* .res *.pch *.suo 
*.exp *.*~ *.~* ~*.* cvs CVS .CVS .cvs 
release Release debug Debug 
ignore Ignore bin Bin obj Obj 
*.csproj.user *.user 
*.generated.cs 
+0

@blorgbeard - Wycofuję zmiany formatowania, ponieważ uważam, że najlepiej jest mieć je w jednym wierszu do skopiowania/wklejenia do pliku konfiguracyjnego SVN (który nie akceptuje wprowadzania wieloliniowego). –

+0

Poprawiono. –

+5

Co z * .tmp * .temp? –

4

Służy do mojego Visual Studio projektów

*/bin */obj *.user *.suo 

Można poszerzyć więcej typów plików stamtąd.

+0

Widziałem podobną listę już dziś - jaka jest różnica między */bin a just bin?Zakładając, że chcesz zignorować cały folder. – harpo

+0

Przeczytaj rozdział 5.13. Ignorowanie plików i katalogów pliku pomocy TortoiseSVN. – icelava

+5

http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-ignore.html Mówi, że nie powinieneś dodawać znaków a/lub \, a dołączanie ich jest dziedzictwem wcześniejszych wersji –

12

użytkownicy Windows mogą chcieć rzucić w desktop.ini i Thumbs.db.

3

wizualne użytkownikom Studio (VC++) na pewno trzeba wykluczyć .NCB plików

17

każdym razem spotykam pliku I generalnie nie ma w repozytorium, zaktualizować wzór. Wierzę, że nie ma "najlepszego" wzoru - zawsze jest to zależne od języka i środowiska, w którym się rozwijasz., w którym się rozwijasz.

Co więcej, mało prawdopodobne jest myślenie o wszystkich możliwych "nieczytelnych" typach plików - będziesz zawsze napotykaj typ pliku, który po prostu zapomniałeś dołączyć. To dlatego aktualizowanie wzoru na bieżąco działa najlepiej.

+2

Zgadzam się, że nie ma "najlepszego" wzorca w sensie absolutnym, dlatego dodałem (lub tak dobrze, jak to możliwe). Masz rację, nie wyliczysz ich wszystkich i zależy to od języka i env, które również wskazałem. Istnieje jednak duża liczba, którą można znokautować tuż przy kiju. –

+1

Również podczas dodawania ich podczas pracy w porządku dla pojedynczych środowisk programistycznych, gdy masz wielu programistów w projekcie, pożądany jest wspólny wzorzec ignorowania projektu. Chcesz go aktualizować tak rzadko, jak to możliwe, więc chcesz znokautować jak najwięcej z góry –

+0

Oczywiście, zwykły wzorzec * .bin * .bak * .pdb * .suo etcetera musi być ustawiony z przodu, zgadzam się. Ale po ustawieniu właściwości ignorowania w folderze repozytorium, faktycznie stają się one udostępniane - chociaż jestem świadomy, że nie jest to dokładnie to, co miałeś na myśli. –

1

Użytkownicy komputerów Mac prawdopodobnie chcą wrzucić .DS_Store. Dodatkowo, jeśli dev używa Emacsa lub Vima, prawdopodobnie chcesz dodać ~ ~ i # #.

0

Wzór zależy od używanego systemu operacyjnego.

W systemie Linux, będziesz chciał zablokować **. O *, **. Więc *, **. A * i **. La * na początek. Możesz również zablokować ** ~ * (plik kopii zapasowej z edycji) i # * # (kopię zapasową emacsa z awarii).

W systemie Windows będziesz potrzebował **. Obj *, **. Lib * i **. Dll * co najmniej.

Wszystkie inne pliki, które należy zablokować, zależą od IDE, edytora i kompilatora.

1

dla Eclipse, używam:

bin 
.* 

* dostaje całą konfigurację projektu.. Prawie nigdy nie chcesz sprawdzać "ukrytego" katalogu lub pliku, ale jeśli pojawi się, możesz go jeszcze dodać.

+0

obj jest również konieczne, a także pliki * .user – jrojo

1

Ponieważ możesz używać bibliotek i bibliotek innych producentów jako części projektu, nie widzę mądrości w blokowaniu * .lib i * .dll z repozytorium. Są to rzeczy, które mają być przechowywane w repozytorium.

+5

Podczas korzystania z bibliotek stron trzecich, bibliotek DLL, EXE itp. Po prostu jawnie je dodać. Jeśli chcesz wykonać całe drzewo strony trzeciej, tymczasowo wyłącz wzór ignorowania. Nie chcesz, aby te typy były pobierane w sposób dorozumiany podczas codziennego rozwoju, a więc ich włączenia do wzorca. –

44

podstawie ignorowanych wzór tęgi, w Dodałem ReSharper do listy ignorowanych

sformatowana do kopiowania i wklejania:

*.o *.lo .la ## .*.rej .rej .~ ~ .# .DS_Store thumbs.db Thumbs.db *.bak *.class *.exe *.dll *.mine *.obj *.ncb *.lib *.log *.idb *.pdb *.ilk .msi .res *.pch *.suo *.exp ~. cvs CVS .CVS .cvs release Release debug Debug ignore Ignore bin Bin obj Obj *.csproj.user *.user _ReSharper.* *.resharper.user 

sformatowany dla czytelności:

*.o *.lo .la ## .*.rej .rej .~ ~ .# .DS_Store thumbs.db Thumbs.db *.bak 
*.class *.exe *.dll *.mine *.obj *.ncb *.lib *.log *.idb *.pdb *.ilk .msi .res *.pch *.suo *.exp ~. cvs 
CVS .CVS .cvs release Release debug 
Debug ignore Ignore bin Bin obj Obj 
*.csproj.user *.user _ReSharper.* *.resharper.user 
+1

Używam tego również z: \ _ReSharper. \ * – Dve

+1

Pamiętaj, że komentarz Dve został włączony do powyższego wzorca. Nie musisz dodawać go ponownie. – Hydrargyrum

33

My ignorować deseń Visual Studio:

 
*/bin */obj */Release */Debug *.suo *.err *.log *.obj *.bin *.dll *.exe *.LOG *.user *.pdb [tT]emp [tT]empPE Ankh.Load thumbs.db *.resharper *.vspscc *.vsssccc *.scc */_ReSharper* */_ReSharper.* bin obj *.resharperoptions *.db *.bak *_ReSharper* *.snk logs output TestResults *.crunchsolution.* *.crunchproject.* 

sformatowany dla czytelności

 
*/bin */obj */Release */Debug *.suo *.err *.log *.obj *.bin *.dll *.exe 
*.LOG *.user *.pdb [tT]emp [tT]empPE Ankh.Load thumbs.db *.resharper 
*.vspscc *.vsssccc *.scc */_ReSharper* */_ReSharper.* bin obj 
*.resharperoptions *.db *.bak *_ReSharper* *.snk logs output TestResults 
*.crunchsolution.* *.crunchproject.* 
0

Muszę dodać do mieszanki ReSharper jeśli używasz jednego.

kolejny zwrócić uwagę na to Ankh *. *

+0

Tak, pominąłem większość flag specyficznych dla narzędzia, z wyjątkiem Visual Studio. Mam nadzieję, że inni będą nadal dodawać odpowiedzi z jawnymi listami wzorów plików dla różnych narzędzi! –

1

Visual Studio Użytkownicy 2010 należy dodać ipch (folder, który zawiera nagłówki skompilowane C++) i *.sdf (Huge plików używany przez intellisense dla każdego rodzaju projektu).

0

Nie zapomnij NCrunch pliki tymczasowe:

*.crunchsolution.* *.crunchproject.* 
0

i Core wysypisk (Cygwin Linux)

*.stackdump core.* 
0

gitignore.io zapewnia konfigurowalne wzorce do git. Zapewniają czytelną listę, którą należy ponownie sformatować dla SVN.

Na przykład requesting MicrosoftOffice and Windows zwraca

# Created by https://www.gitignore.io/api/microsoftoffice,windows 

### MicrosoftOffice ### 
*.tmp 

# Word temporary 
~$*.doc* 

# Excel temporary 
~$*.xls* 

# Excel Backup File 
*.xlk 

# PowerPoint temporary 
~$*.ppt* 

# Visio autosave temporary files 
*.~vsdx 


### Windows ### 
# Windows image file caches 
Thumbs.db 
ehthumbs.db 

# Folder config file 
Desktop.ini 

# Recycle Bin used on file shares 
$RECYCLE.BIN/ 

# Windows Installer files 
*.cab 
*.msi 
*.msm 
*.msp 

# Windows shortcuts 
*.lnk 
0

gitignore.io zapewnia konfigurowalne wzorce do git. Zapewniają czytelną listę, którą należy ponownie sformatować dla SVN.

Na przykład requesting MicrosoftOffice and Windows powraca

# Created by https://www.gitignore.io/api/microsoftoffice,windows 

### MicrosoftOffice ### 
*.tmp 

# Word temporary 
~$*.doc* 

# Excel temporary 
~$*.xls* 

# Excel Backup File 
*.xlk 

# PowerPoint temporary 
~$*.ppt* 

# Visio autosave temporary files 
*.~vsdx 


### Windows ### 
# Windows image file caches 
Thumbs.db 
ehthumbs.db 

# Folder config file 
Desktop.ini 

# Recycle Bin used on file shares 
$RECYCLE.BIN/ 

# Windows Installer files 
*.cab 
*.msi 
*.msm 
*.msp 

# Windows shortcuts 
*.lnk 

Wydaje się, że może być bezpośrednio stosowany jako svn:global-ignore