Atšķirība starp Git un SVN

Git vs SVN

Gan Git, gan SVN ir programmatūra. Git ir SCM, avota koda pārvaldība un izplatīta versiju kontroles sistēma. SVN ir versiju kontroles un programmatūras versiju sistēma.

 Git ir SCM ar galveno uzsvaru uz ātrumu. To Linux kodolam izstrādāja Linuss Torvalds. Tam ir krātuve ar pārskatīšanas izsekošanas iespējām un pilnīgu vēsturi. Šis repozitorijs nav atkarīgs no centrālā servera vai tīkla piekļuves. Tā ir bezmaksas programmatūra. Git tiek izplatīts GNU, un tā uzturēšanu pārrauga Junio ​​Hamano. Apache Subversion jeb SVN tiek izplatīts saskaņā ar atvērtā koda licenci. Tā nav izplatīta VCS, versiju kontroles sistēma. Tam nav centralizēta vai centralizēta servera. To galvenokārt izmanto avota koda, dokumentācijas un Web lapu vēsturisko un pašreizējo versiju uzturēšanai. SVN galvenais mērķis ir izmantot kā CVS, vienlaicīgu versiju sistēmas pēcteci. To izstrādāja CollabNet, Inc.

 Git glabātais saturs ir metadati. Tajā tiek glabāts saturs mapē ar nosaukumu .git, kuras izmērs ir lielāks. Mašīna .git ir klonēta krātuve. Mape sastāv no visiem tagiem, versiju vēstures, filiālēm utt., Tāpat kā centrālajā repozitorijā; SVN glabā failus. Viņiem nav klonētu krātuvju.

 Ar Git filiālēm ir vieglāk strādāt. Sistēma palīdz ātri apvienot failus, kā arī palīdz atrast nesavienotos; SVN filiāles faktiski ir mape, kas atrodas repozitorijā. Zaru apvienošanai ir vajadzīgas īpašas komandas.

 SVN ir globāls revīzijas numurs, pārskatīšanas numurs ir īslaicīgs avota kods; Gitam tā nav.

 Git satur kriptogrāfiski sajauktu saturu. Tas tiek darīts, izmantojot algoritmu, ko dēvē par SHA1 hash algoritmu. Šī funkcija palīdz aizsargāt saturu no krātuvju korupcijas, kas notiek tīkla problēmu vai diska kļūmju dēļ.

Kopsavilkums:

  1. Git ir izplatīts VCS; SVN nav izplatīts VCS.
  2. Git ir centralizēts serveris un repozitorijs; SVN nav centralizēta servera vai repozitorija.
  3. Git saturs tiek glabāts kā metadati; SVN glabā satura failus.
  4. Ar Git filiālēm ir vieglāk strādāt nekā ar SVN filiālēm.
  5. Git nav tādas globālās versijas numura funkcijas kā SVN.
  6. Git ir labāka satura aizsardzība nekā SVN.
  7. Git Linux kodolam izstrādāja Linuss Torvalds; SVN izstrādāja CollabNet, Inc.
  8. Git tiek izplatīts GNU, un tā uzturēšanu pārrauga Junio ​​Hamano; Apache Subversion jeb SVN tiek izplatīts saskaņā ar atvērtā koda licenci.