Írta: tom1964h
Távoli repository gyakorlat
Távoli repó előkészítése
A gyakorlat megkezdése előtt (ha még nem tettük meg) regisztráljunk a GitHub-on - lásd GitHub SignUp. Ez a demonstráció több Git/GitHub helyzetet mutat be.
Kapcsolódás többféle módon
a számítógépünkön álljunk át az
SFJ_GIT
könyvtárba, amely a gyakorló munkakönyvtárunkGit helyi repóban állítsuk be a globális változókat a
git config --global ...
paranccsal: két külön paranccsal a felhasználónevet és az E-mail címet
Local repo first
- kapcsolódjunk úgy, hogy előbb volt a helyi repónk, amit feltöltünk egy üres központiba:
- állítsunk be a GitHub accountunk alá egy távoli repository-t GitTest néven, a feljövő menübe írjuk be az adatokat:
- adjuk meg a repó nevét (GitTest)
- Description: “Ez egy teszt repó”
- a repónk maradjon nyilvános (PUBLIC): így nem kell bejelentkezéssel és jelszavakkal bíbelődnünk
- ne ikszeljük be az Add a README file opciót: a repónk létezni fog, de üresen jön létre
- miután létrejött, ezt a képernyőt kapjuk:
forrás github.com
a távoli repónk elérhetősége (URL-je) a kép felső részén a sötétebb kék mezőben látható (Quick setup - ….), a mellette lévő kis ikonnal vágólapra is másolható
most a képernyőn látható második opciót használjuk (…or push an existing…): egy már létező repót push-olunk fel a GitTest repónkba:
- probléma azzal van, hogy a helyi repónk master branch-csal jött létre (nézzük meg a
git status
parancscsal a terminálunkon a helyi repót: On branch master nothing to commit, working tree clean - a központi repók a GitHub-on jellemzően main branch-csal jönnek létre - ezért a helyi repónkat át kell nevezni előbb main-re
- probléma azzal van, hogy a helyi repónk master branch-csal jött létre (nézzük meg a
végrehajtás:
- az /SFJ_GIT mappában:
git remote add origin https://github.com/xxxxx/GitTest.git
hozzákötjük a helyi repónkhoz a friss központit (az xxxxx a te usernevedet jelenti) git branch -M main
átnevezzük a master branch-ot main-re, majd ellenőrizzük:git status
- felküldjük az adatokat:
git push -u origin main
- a git push parancs a terminálon tájékoztat, hogy mindent felküldött távoli repóba
- a távoli repónkban létrejött egy main branch és mindkét commitunk benne van, a komment is olvasható jobb oldalt és hiányzik belőle a readme file, ahogy beállítottuk:
- az /SFJ_GIT mappában:
forrás github.com
- ezt a repót a már ismert URL segítségével (https://github.com/xxxxx/GitTest.git) megoszthatjuk a kollégákkal - elkezdhetünk dolgozni vele
- végezetül:
- a demonstráció végén töröljük ezt a repót az előző fejezetben megismert módon!
- a helyi repót is töröljük (ha az egész /SFJ_GIT mappát töröljük, akkor a helyi repó megszűnik).
Remote repo first
- kapcsolódjunk úgy, hogy már létezik a helyi repó, de létezik a nem üres távoli repó is (mert már dolgoztak benne):
hozzuk létre újra a helyi repónkat a Git init & stage fejezetben leírt módon
hozzunk létre egy központi repót az előző pontban leírt sémát módosítva:
- adjuk meg a repó nevét (GitTest)
- Description: “Ez egy teszt repó”
- a repónk maradjon nyilvános (PUBLIC): így nem kell bejelentkezéssel és jelszavakkal bíbelődnünk
- ikszeljük be az Add a README file opciót: a repónk létezni fog és már nem lesz üres
miután létrejött, láthatjuk, hogy már van a repóban egy commit és látható, hogy tartalmaz egy readme file-t, azaz nem üres és létezik benne egy main nevű branch is
a zöld CODE gombot megnyomva lemásolhatjuk a repónk https URL-jét: a gombra kattintva keressük meg a HTTPS-fület, ahonnan az URL-t ki kell másolni:
https://github.com/xxxxx/GitTest.git
ahol az xxxxx a user-név, amivel bejelentkeztél: ez a keresett URL!kössük a helyi repónkat a távoli repóhoz a git remote paranccsal:
git remote add origin https://github.com/xxxxxx/GitTest.git
ahol az xxxxx a beállított felhasználónevet jelenti + láthatjuk, hogy a távoli repóhoz beállított alias origina helyi repóm tartalmát küldjük fel az origin néven hívott központi repóba, annak is a main branch-ébe
git push origin main
- hibát kapunk, mert nem üres a központi repó!ezt kiküszöbölhetjük egy pull-lal majd egy push-sal:
git pull origin main --allow-unrelated-histories
ez egy speciális pull, a letöltött kommitokat hozzáfésüli a lokális repónkhoz: amelyben immár 4 commit lesz és 4 file (ellenőrizd a terminálban!)
git branch -M main
átnevezzük a master branch-ot main-re, majd ellenőrizzük:git status
felküldjük az adatokat:
git push -u origin main
forrás github.com
- ezzel sikeresen küldtük fel a commitjainkat a távoli repóba; a helyi repónk is 4 file-t tartalmaz:
C:\Users\Toshiba\Documents\SFJ_GIT>ls
README.md blue.txt red.txt test.txt
Cloning remote repo
- klónozzunk le egy távoli repót
- a terminálon lépjünk eggyel feljebb a mappákban:
cd..
C:\Users\Toshiba\Documents>
- adjuk ki a klónozási parancsot, amely ennek a tanfolyamnak a nyilvános mappáját klónozza le a helyi gépünkre:
git clone https://github.com/SanFranciscobolJottem/GitTest.git
- létrejött a \Documents\GitTest könyvtár, benne 4 állománnyal
- ha belépsz a mappába és kiadod a
git log
parancsot, akkor láthatod a Krisz commitjait a helyi repódban
forrás draw.io