Git verziókövető rendszer alkalmazása a projektek nyomon követésére

Hasonló dokumentumok
Mi is a git? Csapatban dolgozni Git pro eszközök. Git bevezető. Szabó Adrienn Adatbányászat és Webes Keresés Kutatócsoport

Git verziókezelő. Készítette: Hugyák Tamás. Pannon Egyetem Műszaki Informatikai Kar v1.0

Git verziókezelő. Készítette: Hugyák Tamás. Pannon Egyetem Műszaki Informatikai Kar v1.1

Iványi László ARM programozás. Szabó Béla 1. Óra Verziókövetés

Tortoise SVN használata. Képes útmutató

Szakdolgozati, TDK témajavaslatok

Git verziókövető rendszer alkalmazása

Source control systems. Horváth Ernő, Dr. Pozna Claudiu Radu

A TERC VIP költségvetés-készítő program telepítése, Interneten keresztül, manuálisan

A MOKKA hitelesítő szoftver telepítése és használata

Repo(sitory): verziókövetett tároló Commit: egy új verzió rögzítése a repóban Branch: egy ág a verziókövetési fában

Navigációs GPS adatok kezelése QGIS programmal (1.4 verzió) Összeállította dr. Siki Zoltán

Telepítési Kézikönyv

Segédlet kriptográfiai szolgáltatást beállító szoftverhez (CSPChanger)

Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver

Felhasználói dokumentáció a teljesítményadó állományok letöltéséhez v1.0

Tanúsítványkérelem készítése, tanúsítvány telepítése Lotus Domino szerveren

GIRO GSM MODEM/VPN KAPCSOLAT TELEPÍTÉSI ÚTMUTATÓ

Szoftver technológia. Verziókövető rendszerek. Cserép Máté ELTE Informatikai Kar 2019.

Tisztelt Ügyfelünk! Tájékoztató az átállásról

WordPress segédlet. Bevezető. Letöltés. Telepítés


TERC V.I.P. hardverkulcs regisztráció

Gyökértanúsítványok telepítése Windows Mobile operációs rendszerekre

Java-s Nyomtatványkitöltő Program Súgó

Útmutató az OKM 2007 FIT-jelentés telepítéséhez

Segédlet kriptográfiai szolgáltatást beállító szoftverhez (CSPChanger)

FortiClient VPN-IPSec kliens konfigurációs segédlet

EDInet Connector telepítési segédlet

A FileZilla program beállítása az első belépés alkalmával

Code review és continous integration toolok BME-MIT

M-Files Dokumentumkezelő telepítése

Digitális aláíró program telepítése az ERA rendszeren

PDF. Tartalomjegyzék 1/21

Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05 Geodéziai Feldolgozó Program

Thermo1 Graph. Felhasználói segédlet

Szilipet programok telepítése Hálózatos (kliens/szerver) telepítés Windows 7 operációs rendszer alatt

OCSP Stapling. Az SSL kapcsolatok sebességének növelése Apache, IIS és NginX szerverek esetén 1(10)

CIB Internet Bank asztali alkalmazás Hasznos tippek a telepítéshez és a használathoz Windows operációs rendszer esetén

Megújított tanúsítvány cseréje a Windows tanúsítványtárban

DebitTray program Leírás

Állomány (fájl) = összetartozó adathalmaz, program, melyet a számítógép egyetlen egységként kezel.

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05+ Geodéziai Feldolgozó Program

italc felhasználói dokumentáció

OpenVPN kliens telepítése a RITEK Zrt. szervereinek eléréséhez.

Dropbox - online fájltárolás és megosztás

italc felhasználói dokumentáció

Rendszergazda Debrecenben

Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver

Magyar Nemzeti Bank - Elektronikus Rendszer Hitelesített Adatok Fogadásához ERA. Elektronikus aláírás - felhasználói dokumentáció

U42S Felhasználási példák Gitárjáték rögzítése

TERKA Törvényességi Ellenőrzési Rendszer Kiegészítő Alkalmazás

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, Quantum GIS program alkalmazásával Útmutató 2010.

1. DVNAV letöltése és telepítése

ServiceTray program Leírás

A CAPICOM ActiveX komponens telepítésének és használatának leírása Windows 7 operációs rendszer és Internet Explorer 9 verziójú böngésző esetén

Netlock Kft. által kibocsátott elektronikus aláírás telepítése Windows XP SP3 Internet Explorer 8 böngészőbe

Címkék és ágak kezelése i. Címkék és ágak kezelése

Java-s Nyomtatványkitöltő Program Súgó

Az importálás folyamata Felhasználói dokumentáció verzió 2.1.

Mailvelope OpenPGP titkosítás webes levelezéshez

Kulcs Számla frissítés

Tanúsítvány feltöltése Micardo kártyára

A Novitax ügyviteli programrendszer első telepítése

Tanúsítványkérelem készítése, tanúsítvány telepítése Microsoft Internet Information szerveren

NightHawk AccessControl

BaBér bérügyviteli rendszer telepítési segédlete év

5. A záróvizsga-jegyzőkönyv készítése

Minőségellenőrzési kérdőív kitöltő program Felhasználói kézikönyv

2009. évi adatszolgáltatás javítása

ContractTray program Leírás

Miről lesz szó? Setup Project készítése. Tulajdonságok. 1. Készítsünk egy setup project alkalmazást egy már elkészített, lefordított programhoz.

Az Euro2A PLU letöltő-feltöltő program telepítése és használata Windows 9x/NT/2000/XP/Vista/Windows7/Windows8 (32/64bit) V január 7.

Levelezési beállítások

Pénzintézetek jelentése a pénzforgalmi jelzőszám változásáról

BaBér. Bérügyviteli rendszer. Telepítési segédlet 2014.

Digitális aláírás általános telepítése és ellenőrzése

E-építési napló offline vezetése

InCash számlázó program és a Webshop Hun rendszer összekötése

WIFI elérés beállítása Windows 7 Felhasználó azonosítással

5.6.3 Laborgyakorlat: Windows rendszerleíró adatbázis biztonsági mentése és visszaállítása

A tankönyvvé nyilvánítás folyamatát elektronikusan támogató rendszer az OKÉV számára

Oktatási cloud használata

CGS Civil 3D Extensions 2012 telepítése

Mikroszámla. Interneten működő számlázóprogram. Kézikönyv

Tanúsítvány feltöltése Oberthur kártyára és Oberthur SIM termékre. Windows 7, Windows 8, Windows 8.1 és Windows 10-es operációs rendszeren 1(9)

A Cobra Sprint telepítése CobraContoLight felhasználók számára

Mobil Telefonon Keresztüli Felügyelet Felhasználói Kézikönyv

Technikai információk fejlesztőknek

Ingyenes PDF nyomtató alkalmazás használata terminál szerverrel / felhős rendszerrel

Mobil Partner telepítési és használati útmutató

2009. évi adatszolg{ltat{s javít{sa

Kézikönyv Mandant másolás HILFE menüben

Az Outlook levelező program beállítása tanúsítványok használatához

Apache OpenOffice telepítési útmutató

Tanúsítvány feltöltése Oberthur kártyára és Oberthur SIM termékre

BŐVÍTMÉNYEK TELEPÍTÉSE ÉS SZERKESZTÉSE WORDPRESS-BEN

A Telepítés hajlékonylemezről panelen kattintson az OK gombra.

Átírás:

Git verziókövető rendszer alkalmazása a projektek nyomon Kiadta: IB Controll Kft. Összeállította: Sipos Péter, Nagy Imre, Márta Dániel Dokumentum verzió: v1.5 Utolsó frissítés dátuma: 2014. 11. 10.

Tartalomjegyzék 1. Bevezetés...2 1.1. Dokumentum címe...2 1.2. Rövid tartalom...2 1.3. Használt eszközök...2 2. GIT Version Control System...3 2.1. Bevezetés...3 2.2. Telepítés...3 2.3. Beállítások...4 2.3.1. SSH kulcspár generálás...4 3. Projekt elkezdése...7 3.1. Init új projekt létrehozása...7 3.2. Fork saját példány meglévő projektből...7 3.3. Clone kód beszerzés...8 3.4. Work fejlesztés...8 3.5. Merge beolvasztás kérés...9 4. A.gitignore fájl...10 5. Parancsok listája...11 6. Kapcsolat:...12 6.1. Céginformáció...12 7. Mellékletek...13 7.1. Git fogalmak és konvenciók...14 7.2. Git konfiguráció...15 7.3. Gyakran alkalmazott parancsok...15 1. oldal

1. Bevezetés 1.1. Dokumentum címe Git verziókövető rendszer alkalmazása a projektek nyomon 1.2. Rövid tartalom A dokumentum az IB Controll Kft.-nél alkalmazott GIT verziókövető rendszer használatáról és alkalmazásának módjáról szól. A dokumentum egyes részei megismertetik a GIT VCS rendszert, annak alkalmazását, valamint bemutatja a cégnél alkalmazott konvenciókat a forráskódok változásának. A dokumentum aktuális verziója elérhető az IB Controll Kft. weblapjáról. A dokumentumból a mindenkori legfrissebb verzió a hatályos. 1.3. Használt eszközök Eszköz msysgit PuTTYgen Honlap http://git-scm.com/ http://www.chiark.greenend.org.uk/~sgtatham/putty/ 2. oldal

2. GIT Version Control System 2.1. Bevezetés A szoftverek forráskódjának változásainak nyomon, az egyes szoftververziók kezelésére a cég a Git verzió követő rendszert (VCS 1 ) alkalmazza. 2.2. Telepítés A telepítő fájlok a legismertebb rendszerekre a http://git-scm.com/downloads címen érhetőek el. Letöltés után a megszokott Windows telepítő fogad, mely végig vezet a telepítés menetén. A telepítés alatt az alábbi opciókat ajánlott választani, de ettől tetszés szerint el lehet térni. 1. ábra. Rendszer integráció szintje A Git parancsai csak a Git Bash alkalmazásból lesznek elérhetőek, nem ütközik össze más telepített parancssori alkalmazásokkal. 1 Version Control System, amelyet Linus Torvalds hozott létre a linux kernel verzió. Napjainkban már az egyik legkedveltebb ilyen rendszerré vált. 3. oldal

2. ábra. Fájl konverzió Nincs konverzió a fájlokon letöltés és feltöltés közben. 2.3. Beállítások Telepítés után a Start Git Git Bash útvonalon található a git parancssori alkalmazása. A következő két paranccsal beállíthatjuk, hogy milyen névvel és e-mail címmel lásson a rendszer. git config --global user.name <név> git config --global user.email <email> 2.3.1. SSH kulcspár generálás A Git szerverhez való csatlakozáshoz szükséges egy SSH kulcspár generálása. Ezt Windows rendszeren legegyszerűbben a PuTTYgen program segítségével állíthatjuk elő, mely letölthető az alábbi címről: http://www.chiark.greenend.org.uk/~sgtatham/putty/. 4. oldal

A program kezelése magától értetődő, a Generate gomb megnyomásával elindul a generálás, és a szürke felületen mozgatva az egér kurzort elkészül a kívánt kulcs. A generálás után a Key Comment: mezőbe meg kell adni a webes felületen használt e-mail címet. 3. ábra. Generált SSH kulcs A publikus kulcsra, ami a legfelső szürke mezőben található lesz szükség a webes felületen, a Conversions Export OpenSSH private key menüben pedig a privát kulcs található, mely a saját gépünkön szükséges az azonosításhoz (id_rsa fájl, kiterjesztés nélkül). (Hogy a későbbiekben meg legyen mindkettő a Save private key gombbal ajánlott biztonsági mentést készíteni.) A privát kulcsot az alábbi fájlban kell elhelyezni (id_rsa a fájl neve): %HOMEDRIVE%%HOMEPATH%\.ssh\id_rsa pl: c:\users\teszt User\.ssh\id_rsa 5. oldal

A publikus kulcsot a webes felületen, a Profile Settings SSH Keys fül alatt kell megadni. 6. oldal

3. Projekt elkezdése A már létező projekt a Fork Clone Work életutat követi, míg a saját projekt létrehozásakor a Fork lépés kimarad, és az Init Clone végrehajtásával kezdődik a fejlesztés menete. 3.1. Init új projekt létrehozása Ha teljesen új projektet kezdünk, akkor először a webes felületen létre kell hozni hozzá egy Repository -t a New project gomb megnyomásával. Itt értelem szerűen ki kell tölteni a projekt nevét, a láthatóság módosítása nem szükséges, maradhat Private-on. A létrehozása után írja a szükséges parancsokat, amivel a saját gépen levő repo-t fel lehet tölteni az újonnan létrehozott távoli helyre. A parancsokat a projekt mappájában kell kiadni: git init git add. git commit -m 'elso commit' git remote add origin <repo címe> git push -u origin master Az init létrehoz egy alap repo-t a könyvtárban, az add. minden a könyvtárban található állományt hozzáad a megfigyelt fájlokhoz, a commit létrehozza az első commitot míg az utolsó 2 parancs beállítja a távoli repo elérését, és feltölti a fájlokat amik bekerültek az első commitba. 3.2. Fork saját példány meglévő projektből A fejleszteni kívánt projekt oldalára navigálva lehetőség van egy saját példány beszerzésére, melyen bátran lehet módosítani, fejleszteni, és a kívánt módosítások, funkciók megvalósítása után kérvényezni lehet a beolvasztását a szülő projektbe. A saját példány a projekt oldalán a Fork repository gomb megnyomásával hozható létre. 7. oldal

4. ábra. Forkolás Ezután elkészül a saját példány, mely a saját projektek között megtalálható és készen áll a munka elkezdéséhez. 3.3. Clone kód beszerzés Az SSH kulcspár beállítása után a Git Bash parancssor segítségével lehetőség nyílik a Git rendszerben található projektekhez hozzáférni. A webes felületet használva minden projekt főoldalán megtalálható az eléréséhez szükséges cím. 5. ábra. Projekt címe A Git Bash parancssorán belül el kell navigálni egy könyvtárba, ahol a projekt lesz elhelyezve. A projekt letöltése az alábbi parancs kiadásával történik: git clone <projekt címe> Ezután a projekthez tartozó branch-ek között a git checkout <branch név> paranccsal lehet váltani. 3.4. Work fejlesztés A projekt fájlok módosítása után a git commit -a -m <üzenet> paranccsal lehet commitot létrehozni az összes módosított fájlból. Ezek a módosítások a git push parancs kiadásáig csak a saját gépen kerülnek tárolásra, a parancs hatására kerülnek fel a szerverre. A szerverről a más által történt módosítások a git pull paranccsal szerezhetőek be. Érdemes a commitokat módosított fájlonként, logikai egységenként végezni, így a naplóban könnyen elkülöníthető, hogy mikor milyen változás történt. Például: egy projekt fájl kezelésén belül miután elkészült a fájl megnyitása modul felfedezünk egy hibát a fájl írása modulban. Elsőként ajánlott a hiba javításának commitolása, majd utána a megnyitás modul egy külön commitba való elküldése. Így a naplóban jól elkülönül az új modul és a hibajavítás két külön lépése, ezzel módot adva arra, hogy 8. oldal

a hibajavítás átkerüljön az éles rendszerbe, míg a megnyitás modul csak a későbbiek folyamán a tesztelések, fejlesztések után kerüljön át. 3.5. Merge beolvasztás kérés Miután a saját forkolt példányban elkészültek a kívánt módosítások, a következő lépés az eredeti projektbe való visszaolvasztás kérése. Ez a saját projekt adatlapján levő Merge Request New Merge Request gomb használatával érhető el. 6. ábra. Beolvasztás kérése A megjelenő oldal bal oldalán a forrás (a saját példány) a jobb oldalon pedig a cél (az eredeti projekt) megadása, és a branch kiválasztása után elindítható a kérés. A változások átnézése után a projekt vezetője dönti el, hogy az alkalmazott változtatások bekerülnek-e végül a fő projekt forrásába. 9. oldal

4. A.gitignore fájl A.gitignore fájl szerepe, hogy a git bizonyos fájlokat és mappákat figyelmen kívül hagyjon, így nem kerülnek be a commit-ba valamint, push használatakor nem kerülnek fel a szerverre. FONTOS! A gitignore csak azokra a fájlokra vagy mappákra van hatással, amelyek "untracked" státusszal rendelkeznek, vagyis még nem lettek add-olva. Amelyek már add-olva lettek a repóhoz azokra nem érvényesek a.gitignore szabályai. A fájlt a repó gyökérmappájába kell tenni.gitignore néven. Kiterjesztés nem kell, ennyi legyen a teljes fájlnév. Példa.gitignore fájl: Debug/ test.cpp *.ui A fenti példában látható, hogy soronként egy elérési utat vagy fájlnevet kell megadni. Sor magyarázat: 1. A teljes Debug mappát figyelmen kívül hagyja. 2. Pontosan a test.cpp fájl hagyja figyelmen kívül 3. Minden fájlt amely.ui kiterjesztésű figyelmen kívül hagy. A következő példa a Qt projecthez való.gitignore fájl tartalma, amely bemásolható a saját.gitignore fájlba: ui_*.h Makefile* object_script.* *.pro.user.* *.moc *.pro.user *.obj qrc_*.cpp debug/ release/ További leírás: http://git-scm.com/docs/gitignore 10. oldal

5. Parancsok listája A Git és parancsainak megismeréséhez érdemes az alábbi oldalak böngészése: https://www.atlassian.com/git/tutorial http://gitref.org/ http://git-scm.com/book/en/v2 Git Pro könyv ingyen beszerezhető verziója 11. oldal

6. Kapcsolat: 6.1. Céginformáció IB Controll Informatikai Biztonsági és Adatvédelmi Tanácsadó Kft. info@ibcontroll.hu +3676329292 skype: ibcontroll 12. oldal

7. Mellékletek Mellékletjegyzék 7. Mellékletek...13 7.1. Git fogalmak és konvenciók...14 7.2. Git konfiguráció...15 7.3. Gyakran alkalmazott parancsok...15 13. oldal

7.1. Git fogalmak és konvenciók repo Repository, git projekt "könyvtár" master Helyi fő repo origin Távoli repo tag Kiemelt, névvel ellátott commit commit Felvitt módosítások branch Fejlesztői ágak, új funkció, hibajavítás, stb. merge Fejlesztői ágak összefésülése working copy Aktuális branch saját verziója, amin a munka folyik HEAD Aktuális branch verzió HEAD^ Eggyel a HEAD előtti verzió HEAD~2 Kettővel a HEAD előtti verzió ~/.gitconfig / %HOMEDRIVE%%HOMEPATH%\.gitconfig Globális GIT konfigurációs fájl ~/.ssh / %HOMEDRIVE%%HOMEPATH%\.ssh Globális SSH beállítások könyvtára 14. oldal

7.2. Git konfiguráció git config --global user.name <name> Teljes név, ami a commitok mellett megjelenik git config --global user.email <email> E-mail cím, ami a commitok mellett megjelenik git config --global diff.tool <name> Új külső diff eszköz megadása git config --global difftool.<name>.path <"*.exe"> Új külső diff eszköz elérési útjának megadása git config --global merge.tool <name> Új külső merge eszköz megadása git config --global mergetool.<name>.path <"*.exe"> Új külső merge eszköz elérési útjának megadása git config --global mergetool.<name>.trustexitcode false A merge programból való kilépés után rákérdez, hogy sikeres volt-e az összefésülés git config --global mergetool.<name>.keepbackup false Ne készítsen mentést a fájlról 7.3. Gyakran alkalmazott parancsok git init Git repo létrehozás az adott könyvtárban git remote add <name, default:origin> <url> git fetch Távoli repo megadása Távoli repo adatainak lekérése git checkout <branch> git pull A megadott branchre váltás Fájlok letöltése a távoli repoból 15. oldal

git status Változott fájlok listája git add. Egész könyvtár hozzáadása a githez git add <modified file> Csak egy megadott fájl hozzáadása a githez git checkout -- <modified file> Módosított fájl visszaállítása az eredeti verzióra git reset <modified file> Commitra jelölt fájl kijelölésének megszüntetése git commit -m "<message about modifications>" Commitra jelölt fájlok commitolása git commit -a -m "<message about modifications>" Minden változott és követett fájl commitolása git commit -a -m --amend "<message about modifications>" Minden változott és követett fájl commitolása az előző commitba git push Commitok feltöltése a távoli repoba git log --oneline Naplók megjelenítése 1-1 sorba rendezve git revert <commit> Visszatérés az adott commitra git diff <commit> <file> Fájl összehasonlítása a megadott commithoz git difftool <commit> <file> Fájl összehasonlítása a megadott commithoz, külső alkalmazás használatával git diff --staged Az eredeti fájl és a commitra jelölt összehasonlítása 16. oldal

git checkout <branch> Branch váltás git rebase <branch> Aktuális branch szintre hozása a megadott branchez 17. oldal