Í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

  1. a számítógépünkön álljunk át az SFJ_GIT könyvtárba, amely a gyakorló munkakönyvtárunk

  2. Git 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

  1. 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
  • 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:


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

  1. 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 origin

  • a 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

  1. 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