Jakie typy plików Visual C++ powinny zostać włączone do kontroli wersji?

Jakie typy plików Visual Studio \ Visual C++ powinny zostać włączone do kontroli wersji?
W moim projekcie mam następujące typy plików:

aps
cpp
exe
filters
h
ico
idb
ipch
lastbuildstate
lib
log
manifest
obj
pch
pdb
rc
rc2
res
sdf
sln
suo
tlog
txt
user
vcxproj
Byłbym bardzo wdzięczny za krótkie uzasadnienie dla każdego. Jeśli któraś z nich jest kontrowersyjna, proszę o uwagę. Celowo włączam nawet trywialne typy plików dla kompletności.

EDIT

Z jednej strony chciałbym być niezależny od platformy w przyszłości. Z drugiej strony w niedalekiej przyszłości chciałbym pracuj z członkami zespołu o podobnych konfiguracjach. Kompatybilność folderów między konfiguracjami jest z pewnością opcją, więc pliki konfiguracyjne zawierające ścieżki mogą zostać dołączone, jeśli usprawni to przepływ pracy.Jeszcze raz, z pewnością byłbym wdzięczny za wyjaśnienie, co jest czym.
Author: Jonathan, 2010-10-13

8 answers

Tak:

  • cpp: kod źródłowy
  • filtry: plik projektu
  • h: kod źródłowy
  • ico: resource
  • RC: Resource script
  • RC2: resource script
  • sln: plik projektu
  • txt: element projektu
  • vcxproj: plik projektu

Nr:

  • aps: ostatni stan edytora zasobów
  • exe: build result
  • idb: build state
  • ipch: build helper
  • lastbuildstate: build helper
  • lib: wynik budowania. Może być 3rd party
  • log: build log
  • manifest: build helper. Można napisać samodzielnie.
  • obj: build helper
  • pch: build helper
  • pdb: wynik budowy
  • res: build helper
  • sdf: intellisense dbase
  • suo: opcje użytkownika rozwiązania
  • tlog: build log
  • użytkownik: ustawienia debugowania. zachowaj, jeśli tylko jeden Dev lub niestandardowe ustawienia debugowania

Kilka z nich jest niepewnych, ponieważ mogą być zarówno automatycznie generowane, jak i utrzymywane samodzielnie. I jest kilka innych, które nie pojawiają się na liście. Przede wszystkim zwracaj uwagę na lokalizację pliku. Jeśli jest w Twoim rozwiązaniu lub katalogu projektu, najprawdopodobniej chcesz go sprawdzić. W podkatalogach Debug lub Release to bardzo mało prawdopodobne. Build + Clean usuwa wiele plików szumów. I oczywiście: check-in, Zmień nazwę katalogu projektu, check-out i sprawdź, czy buduje.

 214
Author: Hans Passant,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-30 18:22:04

Z twojej listy wybrałbym te:

cpp
filters
h
ico
manifest
rc
rc2
sln
txt
vcxproj

Ogólnie rzecz biorąc, należy wersję wszystkich plików niezbędnych do budowy projektu. Automatycznie generowane pliki nie powinny być archiwizowane imho.

 26
Author: Milan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-17 11:36:19

Zgodnie z sugestią Microsoftu, typy plików, które powinny być zawarte w kontroli wersji:

.mak,dsp,c, .rc,rc2,ico,bmp,txt,def,hpj,bat,rtf,odl,inf,reg,cnt,cpp,cxx,na,,,hpp,hxx,inl,tpl,vtp, oraz .mst...

Typy plików, które nie powinny być zawarte w:

.pch,mdp,KBC,clw,obj,exe,aps,cpl,awk,exp,lib,idb,opt,pdb,Mapa,res,ilk,scc,bsc,sbr,dll, oraz .tlb...

Ale w jeśli używasz zewnętrznego narzędzia w pliku exe lub zewnętrznej bibliotece, myślę, że powinno ono być również włączone do kontroli wersji

INFO: jakie pliki Visual C++ dodać do kontroli kodu źródłowego

Ponadto ten link opisuje typy plików dla projektów Visual C++ w Visual Studio 2017.

 14
Author: phuclv,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-10-02 14:36:24

Jeśli klikniesz prawym przyciskiem myszy nad projektem, powinna być opcja" Dodaj rozwiązanie do kontroli źródła " w menu kontekstowym.

Jeśli tego użyjesz, zostaną dodane tylko te pliki, które są niezbędne. Wszystkie pliki pośrednie i wyjściowe zostaną zignorowane.

 7
Author: ChrisF,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-10-13 12:03:33

Inne odpowiedzi są doskonałe; po prostu pomyślałem, że przydałoby się małe narzędzie. Sprawdź Visual Studio .szablon gitignore na Githubie. Jest to ładna aktywnie utrzymywana Lista plików, które są często utrzymywane poza kontrolą wersji.

A skoro już przy tym jesteś, całe repozytorium gitignorejest bardzo użytecznym źródłem dla wszelkiego rodzaju rozwoju od ActionScriptdo Zend. Jeśli nie używasz Gita, nadal możesz używać plików gitignore jako Referencja.

 2
Author: Phil,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-21 13:47:00

Ogólnie rzecz biorąc, należy dodać wszystkie pliki, które pojawiają się w Eksploratorze rozwiązań do kontroli wersji. Ponadto, należy uwzględnić .sln (solution file) oraz .vcproj/vcxproj/vbproj/pliki csproj (plik projektu).

Zauważ, że jeśli masz wtyczkę kontrolującą źródła dla Visual Studio, taką jak TFS lub AnkhSvn,nie ma potrzeby, aby się tym przejmować. Visual Studio wie, które Pliki muszą być w kontroli wersji i przekazuje dane do wtyczki kontroli źródła. Tylko jeśli używasz narzędzie zewnętrzne (ex. TortoiseSVN) czy musisz mieć taką listę.

 1
Author: Daniel Rose,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-16 15:46:10

Tylko te, które są wymagane do zbudowania celu. Myślę, że to sprawiedliwe .cpp .h .ico .rc .txt .manifest .rc2

Nie wiem co to jest sdf, aps, filters, user, nie widziałem ich w moich kompilacjach C++.

Wystarczy spojrzeć i dowiedzieć się, czy zawierają kod napisany przez programistę lub czy są generowane przez VS.

 0
Author: Lothar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-10-13 10:25:49

Wbrew temu, co zostało powiedziane we wcześniejszej odpowiedzi, chciałbym podkreślić, że wydaje się być ważne, aby kontrolować wersję .plik opt w celu śledzenia opcji użytkownika. Patrz odniesienie poniżej:

Https://msdn.microsoft.com/en-us/library/aa278994 (v=vs.60). aspx

 -2
Author: mitch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-30 15:35:54