"Ma a két legnépszerűbb verziókezelő programról fogok mesélni: az SVN és a Git."
"Az SVN körülbelül úgy működik, ahogy az előző leckében leírtam. A Git egy kicsit bonyolultabb, és azt tervezem, hogy részletesebben is tárgyalom."
"Adna nekem linkeket az SVN és a Git dokumentációjához?"
– Persze, csak egy pillanatra.
http://svnbook.red-bean.com/en/1.7/svn-book.html
https://githowto.com (ez egyszerűen egy remekmű)
– Szóval, Git .
"Ez egy kicsit bonyolultabb, mint az SVN. A Git segítségével minden felhasználónak saját helyi tárolója van a szerver tárhelyén kívül. "
– Szóval hova kötelezed el magad?
"A felhasználók mindig elkötelezik magukat a helyi tárhelyük mellett."
– De mi a helyzet a szervertárral?
"A helyi és a szerver adattárak szinkronizálásához speciális Pull és Push parancsok állnak rendelkezésre .
"Ennek megvan az oka. Néha a programozónak sok munkát kell végeznie a saját részéről, ami több száz véglegesítést is magában foglalhat, mielőtt hozzáadná a megosztott adattárhoz."
"Ehhez az SVN-ben külön ágat kell indítani, majd össze kell olvasztani a törzstel."
"A Git segítségével egyszerűen mindig véglegesítheti a helyi adattárat, majd az összes módosítást köteggel elküldi a kiszolgáló központi tárolójába, ha végzett."
"Ez a módszer kissé túlzónak tűnhet, ha csak egy kis kódot írsz. De ha a feladataid olyan nagyok, hogy hetekig nyúlnak, akkor megérted, hogy nem írhatod meg ezt az egészet anélkül, hogy elköteleznéd magad."
"Miért nem tud két hétig dolgozni, aztán egyszer végre kell hajtania a változtatásokat a szerveren?"
– Nos, egy verziókezelő program sok kényelmi lehetőséget kínál.
"Képzeld el, hogy minden nap elkötelezed magad, és a 10. napon rájössz, hogy az elmúlt két napban végrehajtott változtatások nem a tervek szerint működnek. És vissza akarsz térni a 8. napon használt kódhoz, és hozzálátsz a feladathoz. eltérően."
"Egyszerűen visszaállítja a helyi adattárban az elmúlt két napban végrehajtott módosításokat, és visszatér a kívánt állapotba. Ezt visszaállítási műveletnek nevezik ."
– Azt mondod, hogy meg tudod csinálni?
"Igen. Ezen kívül, mivel a véglegesítési előzmények tárolva vannak, megtudhatja, hogy mikor és miért követett el valamit, és ki, a releváns funkciókat/hibákat, és hogy a munka részeként melyik tíz fájlt módosították egyszerre."
"Tegyük fel, hogy valaki hibajavítása megtöri valaki más kódját. Egyszerűen visszateheti ( visszagörgetheti ) a kódot, és úgy folytathatja, mintha a változás meg sem történt volna."
"Rendben, ez klassz. Meg vagyok győződve. Tudna mutatni néhány példát, amelyek illusztrálják, hogyan működik ez az egész?"
"Biztos."
"A központi adattárat a következőképpen klónozhatja a helyi számítógépre:
"Tehát a Checkout műveletre már nincs szükség."
"Igen. És itt vannak példák a Push műveletekre:"
"És húzási műveletek:
– Ah. Ennek többé-kevésbé van értelme.
– Mellesleg van egy remek szolgáltatás, a GitHub.
"Bármely programozó regisztrálhat ott, és létrehozhat saját Git-tárakat. Azt javaslom, hogy ismerkedjen meg vele jobban."
"Íme néhány hasznos link:"
https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
https://articles.assembla.com/using-git/getting-started/set-up-git-on-windows-with-tortoisegit
"Ne feledje, hogy elég sok Git-ügyfél van."
"Először is ott van a GitBash , amivel szöveges parancsokat adhatsz meg."
"Aztán ott van a TortoiseGit , ami egy jó program a Windows Intézőbe beépítve. Lehetővé teszi, hogy közvetlenül az Intézőben dolgozzon a Git tárolóban lévő fájlokkal."
"Az IntelliJ IDEA támogatja a Git-et, és lehetővé teszi mindenféle összetett parancs végrehajtását néhány kattintással közvetlenül a környezetből."
– Szóval, melyiket tanuljam meg?
– Azt javaslom, hogy ismerje meg mindegyiket.
"Elmegy az interjún, és megérkezik a munkahelyére. Kapsz egy linket Githez, egy bejelentkezési nevet és egy jelszót – és ennyi. Akkor egyedül maradsz."
– Hogy érted azt, hogy „magától”?
"Úgy értem, te magad állítod be a Git-et, magad hozod le a tár másolatát,..."
"És akkor meg kell építeni, és meg kell próbálnia futtatni a projektet."
"Az összeállítási utasítások szintén valószínűleg a Git-tárban lesznek, a projektdokumentációval együtt."
"Este odajön hozzád a csapat vezetője, és azt mondja: "Nos, mire jutottál eddig?" "
"És azt mondod: "Megpróbálom itt beállítani a Git-et, de még nem jártam sikerrel. "Nem fogsz kirúgni, igaz?" "
"Vagy amíg még dél van, elmehetsz a csapatvezetőhöz, és azt mondod: "Feltelepítettem a Git-et, lehúztam a projektet, és átböngésztem a dokumentációt, de több száz fájl van, és még nem rendeztem mindent. Hol. az aktuális építési utasítások?'» "
– Érzed a különbséget?
"Igen. A második esetben egy szuper rocksztár programozó vagyok, de az elsőben valami robogós vagyok, aki azt sem tudja, hogyan húzzon ki egy projektet a Gitből. Más szóval, elrontottam. még mielőtt elkezdtem volna programozni. Feltételezem, hogy ezután már nem is engedtek kódot írni."
"Látod, a saját kérdéseidre válaszoltál. Szóval tanulj és találd ki. Senki nem fogja megtenni helyetted."
– Nem fogsz nekem segíteni?
"Már segítettem. Itt tanítjuk a Java nyelvet, hátha elfelejtetted. Minden másban egyedül vagy. Vagy csak ivásra van a fejed?"
"Rendben, értem. Köszönöm, Bilaabo!"