top 40 git interview questions
Najobľúbenejšie otázky týkajúce sa rozhovorov s GIT s odpoveďami a príkladmi:
Tento informatívny tutoriál obsahuje súbor najpravdepodobnejších otázok v rozhovoroch Git spolu s ich opisnými odpoveďami. Tieto otázky vám určite pomôžu úspešne sa pripraviť na akýkoľvek pohovor na Gite.
Či už ste začiatočník alebo skúsený profesionál, tieto otázky týkajúce sa rozhovorov o Gite a podrobné odpovede vám určite pomôžu obohatiť si vedomosti o danom predmete a vyniknúť pri svojej práci i pohovoroch.
Začnime!!
Najčastejšie otázky na rozhovor s GIT
Nižšie sú uvedené niektoré z najčastejšie kladených otázok pri rozhovoroch s GIT.
Otázka č. 1) Čo je to Git?
Odpoveď: Git je nástroj na správu distribuovanej verzie. Je kompatibilný s distribuovanými nelineárnymi pracovnými tokmi, pretože poskytuje záruku údajov pri vytváraní kvalitného softvéru.
Git je bezplatný a otvorený. Môže byť použitý pre takmer akýkoľvek druh projektu, či už je malý alebo veľký. Git je známy svojou veľkou rýchlosťou a efektívnosťou. Úložiská Git sa dajú ľahko nájsť a majú k nim prístup. Vďaka svojim určitým vlastnostiam je Git vysoko flexibilný, bezpečný a kompatibilný s vaším systémom.
Otázka 2) Čo je to distribuovaný systém riadenia verzií?
Odpoveď: Distribuovaný VCS je systém, ktorý nezávisí na tom, aby centrálny server uchovával súbor projektu a všetky jeho verzie. V distribuovanom VCS dostane každý spolupracovník alebo vývojár lokálnu kópiu hlavného úložiska, ktorá sa nazýva klon.
[obrázok zdroj ]
Ako vidíte na vyššie uvedenom diagrame, každý spolupracovník udržiava miestne úložisko na svojich miestnych počítačoch. Môžu zaviazať a aktualizovať miestne úložiská bez akýchkoľvek problémov.
Pomocou operácie ťahania môže vývojár aktualizovať svoje lokálne úložisko najnovšími zmenami z centrálneho servera. Pomocou operácie push môžu odosielať svoje zmeny z miestneho úložiska na centrálny server.
Otázka č. 3) Kto vytvoril Git?
Odpoveď: Git vytvoril Linus Torvalds v roku 2005 na ceste k vývoju linuxového jadra.
Otázka č. 4) Ktorý jazyk sa používa v Gite?
Odpoveď: C je základný programovací jazyk, v ktorom je napísaný Git. Vďaka jazyku C je Git rýchly vďaka vyhýbaniu sa runtime režijným nákladom spojeným s inými programovacími jazykmi na vysokej úrovni.
Otázka č. 5) Aké sú výhody / hlavné vlastnosti Gitu?
Odpoveď: Nižšie sú uvedené rôzne f jedlá Gitu.
(i) Free & Open Source:
Git sa vydáva na základe open source licencie GPL (General Public License). Za používanie Gitu nemusíte platiť nič.
Je to úplne zadarmo. Pretože je to open-source, môžete upraviť zdrojový kód podľa svojich potrieb.
sql otázky a odpovede na otázky pdf
ii) rýchlosť:
Pretože sa od vás pri vykonaní všetkých akcií nevyžaduje pripojenie k akejkoľvek sieti, vykoná všetky úlohy rýchlo. Získanie histórie verzií z lokálne uloženého úložiska môže byť stokrát rýchlejšie ako jej získanie zo vzdialeného servera.
Git je napísaný v jazyku C, ktorý je základným programovacím jazykom, ktorý sa vyhýba réžii runtime spojenej s inými jazykmi na vysokej úrovni.
(iii) Škálovateľné:
Git je vysoko škálovateľný. Ak sa teda v nadchádzajúcom čase zvýši počet spolupracovníkov, potom Git môže tejto zmene ľahko vyhovieť.
Napriek tomu, že Git predstavuje celé úložisko, údaje uchovávané na strane klienta sú veľmi malé, pretože Git komprimuje celé obrovské údaje pomocou techniky bezstratovej kompresie.
(iv) Spoľahlivé:
Pretože každý spolupracovník má svoje vlastné miestne úložisko, v prípade zlyhania systému je možné stratené údaje získať z ktoréhokoľvek z miestnych úložísk. Vždy budete mať zálohu všetkých svojich súborov.
(v) Zabezpečené:
Git používa na pomenovanie a identifikáciu objektov vo svojom úložisku SHA1 (Secure Hash Function). Každý artefakt a potvrdenie sú skontrolované a získané späť prostredníctvom kontrolného súčtu počas platby.
História Gitu sa ukladá spôsobom, v ktorom sa ID konkrétnej verzie (potvrdenie v zmysle Gitu) spolieha na celkovú históriu vývoja prebiehajúcu po tomto potvrdení. Keď sa verzia súboru presunie do Gitu, neexistuje spôsob, ako ju zmeniť bez upozornenia.
vi) Ekonomické:
V prípade centralizovaného systému riadenia verzií musí byť centrálny server dostatočne silný, aby dokázal vyhovieť požiadavkám celého tímu. Pre menšie tímy to nie je problém, s rozširovaním tímu však môžu byť hardvérové obmedzenia servera prekážkou výkonu.
V prípade distribuovaných systémov riadenia verzií, ako je Git, členovia tímu nevyžadujú interakciu so serverom. Očakávajú, kedy sa od nich bude vyžadovať, aby tlačili alebo tlačili zmeny. Všetky ťažké práce sa vyskytujú na konci klienta, takže hardvér servera môže byť určite celkom jednoduchý.
(vii) Podporuje nelineárny vývoj:
Git poskytuje rýchle vetvenie a spájanie a obsahuje konkrétne nástroje na predvídanie a prechádzanie nelineárnej histórie vývoja. Základná predstava v Gite je, že zmena bude zlúčená častejšie, ako bude napísaná, keď sa odošle rôznym recenzentom.
Git Branches sú mimoriadne ľahké. Pobočka v Gite odkazuje iba na jeden potvrdenie. Kompletnú štruktúru pobočiek je možné vytvoriť pomocou záväzkov rodiča.
(viii) Jednoduché vetvenie:
Správa pobočiek prostredníctvom Gitu je veľmi jednoduchá a ľahká. Na vytvorenie, odstránenie a zlúčenie pobočiek je potrebných iba pár krokov. Vetvy funkcií poskytujú izolované prostredie pre každú zmenu vašej kódovej základne.
Ak vývojár požaduje, aby začal na niečom pracovať, bez ohľadu na veľkosť diela, vytvorí novú pobočku. To zaisťuje, že hlavná pobočka neustále drží kód kvality výroby.
ix) Distribuovaný vývoj:
Git poskytuje každému vývojárovi lokálnu kópiu celej histórie vývoja a zmeny sa klonujú z jedného takého úložiska do druhého. Tieto zmeny sa zavádzajú ako pridané vývojové vetvy a je možné ich zlúčiť rovnakým spôsobom ako lokálne vyvinuté vetvy.
(x) Kompatibilita spolu so súčasnými systémami alebo protokolom:
Repozitáre je možné publikovať prostredníctvom protokolu HTTP, FTP alebo Git cez bežný soket alebo ssh.
Otázka č. 6) Ako vytvoríte úložisko v Gite?
Odpoveď: Ak chcete vytvoriť úložisko, musíte vytvoriť adresár pre projekt, ak ešte neexistuje, a potom jednoducho vykonať príkaz „ git init “. Vykonaním tohto príkazu sa v adresári projektu vytvorí adresár .git, t. J. Váš adresár projektu sa teraz zmenil na úložisko Git.
Otázka č. 7) Čo je to .git adresár?
Odpoveď: V okamihu, keď vytvoríte úložisko, nájdete v ňom adresár .git. Tento adresár .git obsahuje všetky metaúdaje úložiska a udržuje históriu záväzkov o všetkých zmenách vykonaných v súboroch vo vašom úložisku.
Všetky informácie týkajúce sa záväzkov, háčikov, odkazov, databáz objektov, adries vzdialeného úložiska atď. Sú uložené v tomto priečinku. Toto je najdôležitejšia časť Gitu. Keď klonujete akékoľvek úložisko Git na vašom lokálnom počítači, tento .git je adresár, ktorý sa skutočne skopíruje.
Otázka č. 8) Čo sa stane, ak sa odstráni adresár .git?
Odpoveď: Ak sa adresár .git / vymaže, stratíte prehľad o histórii projektu. Úložisko už nebude pod kontrolou verzie.
Otázka č. 9) Ktorý príkaz sa používa na napísanie správy o potvrdení v Gite?
Odpoveď: Príkaz použitý na odovzdanie správy git commit je git commit -m „správa potvrdenia“. Vlajka m sa používa na odovzdanie správy o potvrdení.
Otázka 10) Čo je to holé úložisko Git? Čím sa líši od štandardného / nenahraného úložiska Git?
Odpoveď: Úložiská, ktoré sa vytvárajú prostredníctvom git init príkaz sú štandardné / nenahrané úložiská Git.
V priečinku najvyššej úrovne takéhoto úložiska nájdete dve veci:
- Podadresár .git uchovávajúci všetky metadáta a záznamy o histórii vášho úložiska.
- Pracovný strom.
Úložiská, ktoré sa vytvárajú pomocou git init –bare príkaz sú známe ako holé úložiská Git. Používajú sa hlavne na zdieľanie. Neobsahujú žiadny pracovný strom. Udržujú históriu revízií git vášho úložiska v koreňovom priečinku, a nie v podpriečinku .git.
Obsahuje iba holé údaje z archívu. Takto sa holé úložisko Git líši od štandardného úložiska Git. Holé úložisko tiež nemá predvolené diaľkové ovládanie pôvodu úložisko, pretože slúži ako pôvodné úložisko pre viacerých vzdialených používateľov.
Keďže holé úložisko neobsahuje žiadny pracovný priestor, server git push a git pull príkazy nefungujú cez holé repo. Nie ste povinní zaviazať sa k nijakým zmenám.
Otázka č. 11) Spomeňte niektoré hostiteľské služby úložiska Git.
Odpoveď:
- Github
- Pikacode
- Gitlab
- Microsoft VSTS
- BitBucket
- GitEnterprise
- SourceForge
- LaunchPad
- Perforce
- Beanstalk
- Vyzerá to ako
Otázka č. 12) Vymenujte niektoré základné operácie v Gite.
Odpoveď: Niektoré základné operácie v Gite zahŕňajú:
- Inicializovať
- Pridať
- Zaviazať
- Tam
- Sem
Otázka č. 13) Vymenujte niektoré pokročilé operácie v Gite.
Odpoveď: Niektoré pokročilé operácie v Gite sú:
- Vetvenie
- Zlúčenie
- Rebasing
Otázka č. 14) Ako budete rozlišovať medzi Git a SVN?
Odpoveď: Git je kontrola distribuovanej verzie, zatiaľ čo SVN je centralizovaná. To vedie k mnohým rozdielom medzi týmito dvoma z hľadiska ich vlastností a funkcií.
Choď | SVN | |
---|---|---|
Obsah | Kryptografický hash SHA-1. | Žiadny hašovaný obsah. |
Architektúra servera | Počítač, na ktorom je nainštalovaný váš Git, funguje ako klient aj server. Každý vývojár má na svojich jednotlivých počítačoch lokálnu kópiu kompletnej histórie verzií projektu. Zmeny v Gite sa vyskytujú lokálne. Od vývojára sa preto nevyžaduje, aby bol neustále pripojený k sieti. Iba pre operácie typu push a pull by vývojári potrebovali pripojenie na internet na pripojenie k vzdialenému serveru. | SVN má samostatného klienta a server. Nie je lokálne k dispozícii. Ak chcete vykonať akúkoľvek akciu, budete musieť byť pripojení k sieti. Pretože je všetko centralizované, tiež v SVN, takže v prípade havárie alebo poškodenia centrálneho servera to bude mať za následok celú stratu dát pre projekt. |
Vetvenie | Git je vývojármi preferovaný hlavne kvôli jeho efektívnemu modelu vetvenia. Gitové vetvy sú ľahké, ale výkonné. Sú to iba odkazy na konkrétny záväzok. Pobočku môžete vytvoriť, vymazať alebo upraviť kedykoľvek bez toho, aby to malo vplyv na ďalšie záväzky. Vidlica, pobočka a zlúčenie sú teda s Gitom jednoduché. | SVN má zložitý model rozvetvovania a spájania, ktorého spravovanie je časovo náročné. V SVN sú vetvy generované ako adresáre v rámci úložiska. Táto adresárová štruktúra je hlavne problematická. Keď je pobočka pripravená, musíte sa odhodiť späť do kufra. Pretože tieto zmeny nezlučujete iba vy, verzia vozidla sa nemusí považovať za pobočku vývojárov. To môže viesť ku konfliktom, chýbajúcim súborom a neporiadnym zmenám vo vašej pobočke. |
Riadenie prístupu | Git predpokladá, že všetci prispievatelia budú mať rovnaké povolenia. | SVN vám umožňuje definovať riadenie prístupu na čítanie a zápis na každej úrovni a na úrovni adresára. |
Kontrolovateľnosť | V Gite sú zmeny sledované na úrovni úložiska. Git sa príliš netrápi nad udržiavaním presnej histórie zmien vykonaných vo vašom úložisku. Distribuovaná povaha Gitu umožňuje každému spolupracovníkovi meniť ktorúkoľvek časť histórie miestneho repo. S Gitom je ťažké zistiť skutočnú históriu zmien vo vašej kódovej základni. Napríklad po premenovaní v Gite stratíte históriu. | V SVN sa zmeny sledujú na úrovni súborov. SVN udržuje celkom konzistentnú a presnú históriu zmien. Môžete kedykoľvek obnoviť presne tie isté údaje, aké boli v minulosti. História SVN je trvalá a vždy určitá. |
Požiadavky na skladovanie | Git a SVN ukladajú údaje rovnakým spôsobom. Využitie miesta na disku je pre obe rovnaké. Jediný rozdiel sa prejaví v prípade binárnych súborov. Git nie je priateľský k binárnym súborom. Nezvláda ukladanie veľkých binárnych súborov. | SVN má kompresný algoritmus xDelta, ktorý funguje pre binárne aj textové súbory. Takže SVN zvláda ukladanie veľkých binárnych súborov na porovnateľne menšom priestore ako Git. |
Použiteľnosť | Git aj SVN používajú príkazový riadok ako primárne používateľské rozhranie. Git vo veľkej miere používajú vývojári / technickí používatelia. | SVN vo veľkej miere používajú netechnickí používatelia, pretože je ľahšie sa naučiť. |
Globálne číslo revízie | Nie je k dispozícií | K dispozícii |
Otázka č. 15) Ako budete rozlišovať medzi Git a GitHub?
Odpoveď: Git je vysoko kvalitný systém riadenia verzií. Je distribuovaný v prírode a slúži na sledovanie zmien zdrojového kódu počas vývoja softvéru. Má jedinečný model rozvetvenia, ktorý pomáha pri synchronizácii práce medzi vývojármi a sledovaní zmien v akýchkoľvek súboroch.
Primárnymi cieľmi Gitu sú rýchlosť, integrita údajov, poskytovanie podpory distribuovaným nelineárnym pracovným tokom. Git je nainštalovaný a udržiavaný na lokálnom počítači namiesto v cloude.
GitHub je cloudová hostiteľská služba úložiska Git, ktorá združuje tímy. Poskytuje vám webové grafické rozhranie a poskytuje kontrolu prístupu a mnoho funkcií spolupráce, základné nástroje na správu úloh pre každý projekt.
GitHub je tiež otvorený zdroj, t. J. Kód je uložený na centralizovanom serveri a je k nemu prístupný pre všetkých.
Otázka č. 16) Čo je konflikt v Gite a ako ho vyriešiť?
Odpoveď: Git má funkciu automatického zlučovania, ktorá sama zvláda záväzky spojenia za predpokladu, že ku zmenám kódu došlo na rôznych riadkoch a v rôznych súboroch.
Ale v prípade súťaží o záväzky, pri ktorých došlo k zmenám v rovnakých riadkoch kódu súboru, alebo bol súbor odstránený v jednej vetve, ale existuje a upravený v inej, Git nedokáže automaticky vyriešiť rozdiely, a tak vyvoláva konflikt zlúčenia.
V takýchto prípadoch si vyžaduje vašu pomoc pri rozhodovaní, ktorý kód zahrnúť a ktorý kód zahodiť pri konečnom zlúčení.
Ku konfliktu zlúčenia môže dôjsť počas zlúčenia pobočky, rebasingu pobočky alebo výberu čerešne na potvrdení. Akonáhle je konflikt zistený, Git zvýrazní konfliktnú oblasť a požiada vás o jej riešenie. Po vyriešení konfliktu môžete pokračovať v zlúčení.
Postupujte podľa nasledujúcich krokov a vyriešte konfliktný konflikt zlúčenia zmeny linky:
- Otvorte Git Bash (príkazový riadok Git).
- Použite CD príkaz ísť do miestneho úložiska Git, ktoré má konflikt zlúčenia.
- Použi stav git príkaz na vytvorenie zoznamu súborov ovplyvnených konfliktom zlúčenia.
- Otvorte textový editor, ktorý používate, a prejdite do súboru, ktorý má konflikty pri zlučovaní.
- Ak chcete vo svojom súbore vidieť začiatok konfliktu zlúčenia, vyhľadajte v dokumente značku konfliktu<<<<<<<. At the point when you open the file, you’ll observe the modifications from the HEAD or base branch after the line <<<<<<>>>>>> MENO POBOČKY.
- Vyberte si v prípade, že si chcete ponechať iba zmeny svojej pobočky, ponechať si zmeny druhej pobočky alebo vykonať novú zmenu, ktorá môže zahŕňať zmeny z týchto dvoch pobočiek. Vymažte značky konfliktu<<<<<<>>>>>> a vykonajte zmeny, ktoré potrebujete pri konečnom zlúčení.
- Použite git dodáva. príkaz na pridanie alebo vykonanie zmien.
- Nakoniec použite git commit -m „správa“ príkaz na vykonanie zmien s komentárom.
Ak chcete vyriešiť odstránený konflikt zlúčenia súborov, musíte postupovať podľa nasledujúcich krokov:
- Otvorte Git Bash (príkazový riadok Git).
- Použite CD príkazom prejdite do miestneho úložiska Git, ktoré má konflikt zlúčenia.
- Použi stav git príkaz na vytvorenie zoznamu súborov ovplyvnených konfliktom zlúčenia.
- Otvorte textový editor, ktorý používate, a prejdite do súboru, ktorý má konflikty pri zlučovaní.
- Vyberte, či si chcete ponechať odstránený súbor. Najnovšie zmeny vykonané v odstránenom súbore môžete skontrolovať v textovom editore.
- Použite git pridať príkaz na pridanie odstráneného súboru späť do úložiska. Alebo použite choď rm príkaz na odstránenie súboru z vášho úložiska.
- Nakoniec použite git commit -m „správa“ príkaz na vykonanie zmien s komentárom.
Otázka č. 17) Ako opravíte Broken Commit?
Odpoveď: Najvýhodnejšou metódou na opravu porušeného potvrdenia alebo na zmenu posledného potvrdenia je použitie príkazu „ git commit -amend ‘ .
Umožňuje vám kombinovať postupné zmeny s predchádzajúcim potvrdením ako alternatívu k vytvoreniu úplne nového potvrdenia. Týmto sa nahradí posledný záväzok zmeneným a doplneným.
[obrázok zdroj ]
Prostredníctvom tohto príkazu môžete tiež upraviť predchádzajúcu správu o potvrdení bez zmeny jej snímky.
Otázka 18) Aké je použitie git instaweb?
Odpoveď: Je to skript, prostredníctvom ktorého môžete okamžite prehliadať svoje pracovné úložisko Git vo webovom prehliadači.
Tento skript nastavuje gitweb a webový server na prehliadanie miestneho úložiska. Automaticky usmerňuje webový prehľadávač a prevádzkuje webový server cez rozhranie do vášho miestneho úložiska.
Otázka č. 19) Čo je to git is-tree?
Odpoveď: „Git je-strom“ označuje stromový objekt obsahujúci režim a názov všetkých položiek spolu s hodnotou SHA-1 blobu alebo stromu.
Otázka č. 20) Existuje spôsob, ako vrátiť git commit, ktorý už bol tlačený a zverejnený?
Odpoveď: Áno, na odstránenie alebo vrátenie chybného potvrdenia existujú dva prístupy, ktoré sa dajú použiť na základe scenára.
Oni sú:
- Úplne zrejmým spôsobom je vykonať nové potvrdenie, pri ktorom odstránite chybný súbor alebo opravíte chyby v ňom. Po dokončení ho môžete presunúť do vzdialeného úložiska.
- Ďalším prístupom je vytvorenie nového potvrdenia, ktoré zruší všetky zmeny vykonané v predchádzajúcom chybnom potvrdení. To sa dá urobiť pomocou príkazu git revert - “ git revert '
Otázka č. 21) Ako budete rozlišovať medzi git pull a git fetch?
Odpoveď: Git ťah príkaz stiahne všetky nové potvrdenia z konkrétnej vetvy v centrálnom úložisku a aktualizuje cieľovú vetvu v miestnom úložisku.
Git aport zameriava sa tiež na to isté, jeho základná funkcionalita je však trochu iná. Keď urobíte git fetch, všetky nové potvrdenia z konkrétnej vetvy sa stiahnu do vášho centrálneho úložiska a tieto zmeny sa uložia do novej vetvy v miestnom úložisku. Toto sa nazýva aportovaná vetva.
Ak chcete tieto zmeny vidieť vo svojej cieľovej vetve, musíte vykonať a ísť zlúčiť po načítaní git. Cieľová vetva bude aktualizovaná najnovšími zmenami až po jej zlúčení s načítanou vetvou.
Takže git pull prináša miestnu pobočku aktuálnu s jej vzdialenou verziou, zatiaľ čo git fetch priamo nezmení vašu vlastnú miestnu pobočku alebo pracovnú kópiu pod referencie / hlavy. Pomocou nástroja Git fetch môžete aktualizovať svoje pobočky vzdialeného sledovania pod refs / remotes //.
Jednoduchými slovami git pull sa rovná git fetch, po ktorom nasleduje git merge .
Otázka č. 22) Aké je použitie oblasti Odstupňovanie alebo indexovania v Gite?
Odpoveď: Z pohľadu Gitu existujú tri oblasti, kde je možné uchovať zmeny súborov, t. J. Pracovný adresár, pracovná oblasť a úložisko.
Najskôr urobíte zmeny v pracovnom adresári projektu uloženého v súborovom systéme vášho počítača. Všetky zmeny tu zostanú, kým ich nepridáte do strednej oblasti, ktorá sa nazýva pracovná oblasť.
Zmeny môžete zrealizovať vykonaním git pridať. príkaz. Táto oddychová oblasť poskytuje ukážku vášho budúceho potvrdenia a v zásade vám umožňuje doladiť vaše potvrdenia. Môžete pridávať alebo odstraňovať zmeny v pracovnej oblasti, kým nebudete spokojní s verziou, ktorú sa chystáte spáchať.
Po overení zmien a odhlásení sa zo zmeny scény môžete zmeny konečne vykonať. Po spáchaní prejdú do miestneho úložiska, t. J. Do adresára .git / objects.
Ak používate Git GUI, zobrazí sa vám možnosť uskutočniť zmeny. Na nasledujúcej snímke obrazovky je súbor sample.txt v oblasti s postupnými zmenami, čo znamená, že je vo vašom pracovnom adresári.
Môžete vybrať súbor a kliknúť na „fáza zmenená“. Potom sa presunie v pracovnej oblasti. Napríklad , súbor hello.txt je prítomný v oblasti so zmenenou fázou (potvrdí sa). Svoje zmeny môžete skontrolovať, potom sa odhlásiť a následne potvrdiť.
Staging sa tiež označuje ako indexovanie, pretože git udržiava indexový súbor, aby sledoval zmeny súborov v týchto troch oblastiach. Postupné súbory sa momentálne nachádzajú vo vašom indexe.
Keď do pracovnej oblasti pridáte zmeny, aktualizujú sa informácie v indexe. Keď urobíte potvrdenie, je to vlastne to, čo je v indexe, ktorý sa potvrdí, a nie to, čo je v pracovnom adresári. Môžete použiť stav git príkazom, aby ste videli, čo je v indexe.
Otázka č. 23) Čo je Git Stash?
Odpoveď: Ukladací priestor GIT zachytáva aktuálny stav pracovného adresára a indexu a uchováva ho v zásobníku pre ďalšie použitie. Vráti nepotvrdené zmeny (postupné aj nevyrovnané) z vášho pracovného adresára a vráti vám čistý pracovný strom.
Teraz môžete pracovať na niečom inom a keď sa vrátite, môžete tieto zmeny znova použiť. Ak teda chcete prepnúť z jedného kontextu do druhého bez toho, aby ste stratili svoje súčasné zmeny, môžete použiť odkladanie.
Je to užitočné pri rýchlom prepínaní kontextu, keď ste v polovici zmeny kódu, ktorú teraz nechcete spáchať alebo vrátiť späť, a máte na čom ešte pracovať. Príkaz, ktorý sa má použiť, je git stash.
Otázka č. 24) Čo je pokles Git Stash?
Odpoveď: Ak už konkrétnu skrýšu nepotrebujete, môžete ju vykonať vykonaním príkaz git stash drop . Ak chcete z úložiska odstrániť všetky zásoby naraz, môžete spustiť príkaz git stash clear .
Otázka č. 25) Čo je Git stash? Čím sa líši od Git stash popu?
Odpoveď: Oba príkazy sa používajú na opätovné použitie vašich skrytých zmien a začatie práce od miesta, ktoré ste opustili.
V platí git stash príkaz, zmeny sa znova použijú na vašu pracovnú kópiu a tiež sa ponechajú v skrýši. Tento príkaz je možné použiť, ak chcete použiť rovnaké skryté zmeny na viac vetiev.
V git stash pop príkazom, zmeny sa odstránia zo skrýšy a znova sa použijú na pracovnú kópiu.
Otázka č. 26) Na čo slúži príkaz git clone?
Odpoveď: The git klon príkaz vytvorí kópiu existujúceho centrálneho úložiska Git do vášho lokálneho počítača.
Otázka č. 27) Kedy sa použije príkaz git config?
Odpoveď: The konfigurácia git príkaz sa používa na nastavenie možností konfigurácie pre vašu inštaláciu Git.
Napríklad, po stiahnutí Gitu musíte pomocou príkazov konfigurácie nastaviť používateľské meno a potvrdiť e-mailovú adresu v Gite:
$ git config –global user.name „“
$ git config –global user.email „“
otázky týkajúce sa pohovoru selénom na 4 roky praxe
Pomocou tohto príkazu teda možno nastaviť hlavne veci ako správanie úložiska, informácie o užívateľoch a preferencie.
Otázka č. 28) Ako zistíte, či je pobočka už zlúčená do hlavnej?
Odpoveď:
Vykonaním nasledujúcich príkazov môžete zistiť stav zlúčenia pobočky:
- git branch - zlúčený majster: Zobrazí sa zoznam všetkých vetiev, ktoré boli premenované na hlavnú.
- vetva git - zlúčená: Toto vypíše všetky vetvy, ktoré boli zlúčené do HEAD.
- vetva git - bez zlúčenia: Zobrazí sa zoznam všetkých pobočiek, ktoré ešte nie sú zlúčené.
Tento príkaz predvolene informuje o stave zlúčenia iba miestnych pobočiek. Ak chcete vedieť o stave zlúčenia lokálnej aj vzdialenej pobočky, môžete použiť -do vlajka. Ak chcete skontrolovať iba vzdialené pobočky, môžete použiť -r vlajka.
Otázka 29) Čo sú háčiky v Gite?
Odpoveď: Git hooks sú určité skripty, ktoré Git beží pred alebo po udalosti, ako je potvrdenie, odoslanie, aktualizácia alebo prijatie. Priečinok „hooks“ nájdete v priečinku .git vo vašom miestnom úložisku. Nájdete tu zabudované skripty pre-commit, post-commit, pre-push, post push.
Tieto skripty sa vykonávajú lokálne pred alebo po výskyte udalosti. Tieto skripty môžete tiež upraviť podľa svojich potrieb a Git vykoná skript, keď dôjde ku konkrétnej udalosti.
Otázka 30) Aké je použitie vidlice git? Ako sa líši vidlica od klonovania?
Odpoveď: Vidlica projektu znamená vytvoriť vzdialenú kópiu pôvodného úložiska na strane servera. Túto kópiu môžete premenovať a začať okolo toho robiť nový projekt, bez toho, aby to malo vplyv na pôvodný projekt. Vidlica nie je hlavným konceptom Gitu.
Operáciu vidlice používa pracovný tok Git a táto myšlienka existuje dlhšie pre bezplatný a open-source softvér, ako je GitHub. Spravidla platí, že akonáhle ste projekt rozdelili na vidličky, do rodičovského projektu prispejete málokedy.
Napríklad, OpenBSD je unixový operačný systém typu open-source, ktorý bol vyvinutý vidličkou NetBSD, čo je ďalší unixový operačný systém typu open-source.
Avšak vo vidlici existuje priame spojenie medzi vašou vidlicovou kópiou a pôvodným úložiskom. Kedykoľvek môžete prispieť späť do pôvodného projektu pomocou požiadaviek na stiahnutie.
Vo vidlicovej kópii sa všetky hlavné údaje, ako sú kódy a súbory, kopírujú z pôvodného úložiska, vetvy, požiadavky na vytiahnutie a ďalšie funkcie sa však neskopírujú. Vidlica je ideálnym spôsobom pre spoluprácu s otvoreným zdrojom.
Klonovanie je v podstate koncept Git. Klon je lokálna kópia ľubovoľného vzdialeného úložiska. Keď klonujeme úložisko, celé zdrojové úložisko spolu s jeho históriou a pobočkami sa skopíruje do nášho lokálneho počítača.
Na rozdiel od forkovania neexistuje priame spojenie medzi klonovaným úložiskom a pôvodným vzdialeným úložiskom. Ak chcete splniť požiadavky na stiahnutie a pokračovať späť k pôvodnému projektu, mali by ste sa pridať ako spolupracovník v pôvodnom úložisku.
Klonovanie je tiež skvelým spôsobom na vytvorenie zálohy pôvodného úložiska, pretože klonovaná kópia má tiež celú históriu potvrdení.
Otázka č. 31) Ako zistíte, aké všetky súbory boli zmenené v konkrétnom potvrdení Git?
Odpoveď: Použitím hodnoty hash konkrétneho potvrdenia môžete spustiť nasledujúci príkaz, čím získate zoznam súborov, ktoré boli zmenené v konkrétnom potvrdení:
git diff-tree -r {hash}
Zobrazí sa zoznam všetkých súborov, ktoré boli upravené, a tiež súbory, ktoré boli pridané. Príznak -r sa používa na zoznam jednotlivých súborov spolu s ich cestou namiesto toho, aby ich zbalil iba do názvov koreňových adresárov.
Môžete tiež použiť nasledujúci príkaz:
git diff-tree –no-commit-id –name-iba -r {hash}
–No-commit-id preškolí hash čísla, ktoré majú byť vo výstupe. Zatiaľ čo -name vylúči cesty k súborom a na výstupe uvedie iba názvy súborov.
Otázka č. 32) Aký je rozdiel medzi git checkout [názov pobočky] a git checkout -b [názov pobočky]?
Odpoveď: Príkaz pokladňa git [názov pobočky] prepne z jednej vetvy na druhú.
Príkaz git checkout -b [názov pobočky] vytvorí novú vetvu a tiež na ňu prepne.
Otázka č. 33) Čo je SubGit?
Odpoveď: SubGit je nástroj, ktorý sa používa na migráciu SVN na Git. Vyvíja ju spoločnosť s názvom TMate. Konvertuje úložiská SVN na Git a umožňuje vám pracovať súčasne na oboch systémoch. Automaticky synchronizuje SVN s Gitom.
[obrázok zdroj ]
Pomocou tohto nástroja môžete vytvoriť zrkadlo SVN || Git. SubGit by mal byť nainštalovaný na vašom serveri Git. Zistí všetky nastavenia vášho vzdialeného úložiska SVN vrátane revízií, vetiev a značiek SVN a prevedie ich na potvrdenia Git.
Zachováva tiež históriu vrátane sledovania údajov o zlúčení.
Otázka č. 34) Môžete v Gite obnoviť odstránenú vetvu?
Odpoveď: Áno môžeš. Ak chcete obnoviť odstránenú vetvu, mali by ste poznať SHA na vrchu vašej hlavy. SHA alebo hash je jedinečný identifikátor, ktorý Git vytvorí pri každej operácii.
Keď odstránite pobočku, zobrazí sa SHA v termináli:
Odstránená pobočka (bolo)
techniky vyvolávania požiadaviek v softvérovom inžinierstve
Na obnovenie odstránenej vetvy môžete použiť nasledujúci príkaz:
pokladňa git -b
Ak nepoznáte SHA pre potvrdenie na konci svojej pobočky, môžete najskôr použiť ísť reflog príkazom, aby ste poznali hodnotu SHA, a potom pomocou vyššie uvedeného príkazu na zaplatenie obnovte svoju vetvu.
Otázka č. 35) Čo je to rozdiel git velenie? Čím sa líši od stav git?
Odpoveď: Rozdiel v Gite je viacúčelový príkaz, ktorý je možné vykonať na zobrazenie rozdielov medzi dvoma ľubovoľnými potvrdeniami, zmien medzi pracovným stromom a potvrdením, zmien medzi pracovným stromom a indexom, zmien medzi dvoma súbormi, zmien medzi indexom a stromom atď.
The stav git príkaz sa používa na kontrolu úložiska. Zobrazuje stav pracovného adresára a pracovnej oblasti. Zobrazí sa zoznam súborov, ktoré boli usporiadané, ktoré neboli usporiadané, a súbory, ktoré nie sú sledované.
Otázka 36) Čo obsahuje objekt Commit?
Odpoveď: Objekt potvrdenia obsahuje hašovací objekt stromu najvyššej úrovne, rodič potvrdzuje hash (ak existuje), informácie o autorovi a komitátorovi, dátum potvrdenia a správa o potvrdení.
Môžete si to prezrieť cez git log príkaz.
Príklad:
[obrázok zdroj ]
Otázka č. 37) Čo je git cherry-pick? Aké sú scenáre, v ktorých je možné použiť výber čerešne git?
Odpoveď: Git čerešňa je mocný príkaz na použitie zmien zavedených jedným alebo viacerými existujúcimi záväzkami. Umožňuje vám vybrať potvrdenie z jednej pobočky a použiť ho na druhú.
git cherry-pick commitSha je príkaz používaný na zber čerešní. commitSha je odkaz na potvrdenie.
Tento príkaz je možné použiť na vrátenie zmien. Napríklad, ak ste sa omylom zaviazali k nesprávnej vetve, môžete skontrolovať správnu vetvu a čerešničkou vybrať potvrdenie tam, kam má patriť.
Môže sa použiť aj pri tímovej spolupráci. Môžu sa vyskytnúť scenáre, keď je potrebné zdieľať rovnaký kód medzi dvoma komponentmi produktu. V takom prípade, ak jeden vývojár už napísal tento kód, môže druhý vybrať rovnaký.
Vyberanie čerešní je užitočné aj pri rýchlych opravách chýb, kde je možné potvrdenie opravy vybrať priamo do hlavnej pobočky, aby sa problém čo najskôr vyriešil.
Otázka č. 38) Na čo sa používa „git reset“? Aký je predvolený režim tohto príkazu?
Odpoveď: Obnovte Git je mocný príkaz na vrátenie miestnych zmien stavu Git repo. Tento príkaz resetuje aktuálnu HEAD na zadanú fázu.
Obnoví index aj pracovný adresár na stav vášho posledného potvrdenia. Git reset má tri režimy, a to mäkký, tvrdý a zmiešaný. Predvolený režim činnosti je zmiešaný.
Otázka č. 39) Aký je rozdiel medzi „HEAD“, „pracovným stromom“ a „indexom“?
Odpoveď: Pracovný strom alebo pracovný priestor je adresár obsahujúci zdrojové súbory, na ktorých práve pracujete.
Index je pracovná oblasť v Gite, kde sa pripravujú potvrdenia. Nachádza sa medzi potvrdením a vašim pracovným stromom. Git index je jeden veľký binárny súbor, ktorý obsahuje všetky súbory v aktuálnej vetve, ich názvy, kontrolné súčty sha1 a časové značky.
Tento súbor sa nachádza na /.git/index. HEAD je odkaz alebo ukazovateľ na posledné potvrdenie v aktuálnej vetve platby.
Otázka 40) Aký je rozdiel medzi rebase a merge? Kedy by ste mali rebázovať a kedy by ste sa mali zlúčiť?
Odpoveď: Príkazy rebase aj merge sa používajú na integráciu zmien z jednej vetvy do druhej, ale odlišným spôsobom.
Ako je vidieť na nasledujúcich dvoch obrázkoch, predpokladajme, že ste sa zaviazali (toto je pred zlúčením / rebázou). Po zlúčení získate výsledok ako kombináciu záväzkov. Spája dokopy históriu oboch vetiev a vo vetve funkcií vytvára nové „zlúčenie“.
Na druhej strane rebase presunie celú vetvu funkcií tak, aby začínala na konci hlavnej vetvy.
[obrázok zdroj ]
Záväzky budú vyzerať takto:
Rebasing sa pre verejné pobočky neodporúča, pretože sa vytvárajú nekonzistentné úložiská. Pre súkromné pobočky / individuálnych vývojárov je však rebasing dobrá voľba. Nie je to príliš vhodné pre režim pobočky na funkciu. Ak však máte model pobočky na vývojára, rebasing nie je na škodu.
Rebase je tiež deštruktívna operácia, takže váš vývojový tím by mal byť dostatočne zručný na správne použitie. V opačnom prípade môže dôjsť k strate odhodlanej práce.
Okrem toho je vrátenie zlúčenia jednoduchšie ako vrátenie rebase. Ak teda viete, že existujú možnosti návratu, je potrebné použiť zlúčenie.
Zlúčenie vytrvá históriu takú, aká je, zatiaľ čo rebase históriu prepíše. Ak teda chcete vidieť históriu úplne tak, ako sa vyskytla, mali by ste použiť zlúčenie.
Otázka č. 41) Aká je syntax pre rebasing?
Odpoveď: Syntax príkazu rebase je git rebase [nové potvrdenie]
Otázka č. 42) Ako odstránite súbor z Gitu bez toho, aby ste ho skutočne odstránili z lokálneho súborového systému?
Odpoveď: Môžete na to použiť možnosť „vo vyrovnávacej pamäti“:
git rm -rf - uložené súbory $ $
Tento príkaz odstráni súbory z vášho úložiska bez ich odstránenia z disku.
Otázka č. 43) Aký je obvyklý vzor rozvetvenia v Gite?
Odpoveď: Spoločný vzor rozvetvenia je založený na toku git. Má dve hlavné vetvy, tj. Hlavnú a vývojovú.
- Hlavná vetva obsahuje výrobný kód. Celý vývojový kód je v určitom okamihu zlúčený do hlavnej vetvy.
- Vývojová vetva obsahuje predvýrobný kód. Keď sú funkcie dokončené, zlúčia sa do hlavnej vetvy, zvyčajne prostredníctvom potrubia CI / CD.
Tento model má aj niektoré podporné vetvy, ktoré sa využívajú počas vývojového cyklu:
- Hlavné odvetvia / tematické vetvy: Používajú sa na vývoj nových funkcií pre nadchádzajúce vydania. Môže sa vetviť z vývojovej vetvy a musí sa zlúčiť späť do vývojovej vetvy. Spravidla tieto pobočky existujú iba v archívoch vývojárov a nie v pôvode.
- Pobočky rýchlej opravy: Používajú sa na neplánované vydanie výroby, keď je potrebné okamžite opraviť kritickú chybu v živej prod verzii. Môžu sa vetviť od majstra a musia byť zlúčené späť do rozvinutia a zvládnutia.
- Uvoľniť vetvy: Používajú sa na prípravu nového produkčného vydania. Vetva vydania vám umožňuje robiť drobné opravy chýb a pripravovať metadáta na vydanie. Môžu sa rozvetviť od vývoja a musia byť zlúčené späť do hlavného a rozvíjať sa.
Záver
V tomto tutoriáli sme si prešli dôležitými otázkami, ktoré sa bežne kladú počas rozhovorov s Gitom.
Pomôže vám to nielen pripraviť sa na nadchádzajúce pohovory, ale aj objasniť vaše koncepty git.
Všetko najlepšie pre váš rozhovor!
Odporúčané čítanie
- Dotazy a odpovede na pohovor
- Niektoré zaujímavé otázky týkajúce sa testovania softvéru
- Top 40 C Programming Interview Otázky a odpovede
- Top 40 populárnych otázok a odpovedí na rozhovory s J2EE, ktoré by ste si mali prečítať
- ETL Testovacie otázky a odpovede na pohovor
- 20+ Najčastejšie kladené otázky a odpovede z rozhovoru o ukončení
- Najdôležitejšie otázky týkajúce sa rozhovorov s formulármi a správami Oracle
- Niektoré zložité otázky a odpovede na ručné testovanie