top 40 git interview questions
Nejoblíbenější dotazy k rozhovorům s GIT s odpověďmi a příklady:
Tento informativní tutoriál obsahuje sadu nejpravděpodobnějších otázek v rozhovorech Git spolu s jejich popisnými odpověďmi. Tyto otázky vám určitě pomohou úspěšně se připravit a prolomit jakýkoli rozhovor Git.
Ať už jste nováček nebo zkušený profesionál, tyto otázky týkající se rozhovorů o Gitu a podrobné odpovědi vám určitě pomohou obohatit vaše znalosti o předmětu a vyniknout ve vaší práci i při rozhovorech.
Začněme!!
Nejčastější dotazy k rozhovorům s GIT
Níže jsou uvedeny některé z běžně kladených otázek na pohovory GIT pro vaši potřebu.
Otázka č. 1) Co je Git?
Odpovědět: Git je nástroj pro správu distribuovaných verzí. Je kompatibilní s distribuovanými nelineárními pracovními toky, protože nabízí záruku dat pro vytváření kvalitního softwaru.
Git je zdarma a open-source. Lze jej použít pro téměř jakýkoli druh projektu, ať už malého nebo velkého. Git je známý svou velkou rychlostí a efektivitou. Úložiště Git lze snadno najít a získat k nim přístup. Díky svým určitým funkcím je Git vysoce flexibilní, bezpečný a kompatibilní s vaším systémem.
Otázka 2) Co je to distribuovaný systém pro správu verzí?
Odpovědět: Distribuovaný VCS je systém, který nezávisí na tom, aby centrální projekt uchovával soubor projektu a všechny jeho verze. V distribuovaném VCS získá každý spolupracovník nebo vývojář místní kopii hlavního úložiště, které se říká klon.
(obraz zdroj )
Jak vidíte ve výše uvedeném diagramu, každý spolupracovník udržuje místní úložiště na svých místních počítačích. Mohou bez problémů zavázat a aktualizovat místní úložiště.
Pomocí operace vyžádání může vývojář aktualizovat své místní úložiště nejnovějšími změnami z centrálního serveru. Pomocí operace push mohou odesílat změny z místního úložiště na centrální server.
Otázka č. 3) Kdo vytvořil Git?
Odpovědět: Git vytvořil Linus Torvalds v roce 2005 na cestě k vývoji linuxového jádra.
Otázka č. 4) Který jazyk se používá v Gitu?
Odpovědět: C je základní programovací jazyk, ve kterém je napsán Git. Díky jazyku C je Git rychlý díky vyhýbání se runtime režiím spojeným s jinými programovacími jazyky na vysoké úrovni.
Otázka č. 5) Jaké jsou výhody / hlavní vlastnosti Gitu?
Odpověď: Níže jsou uvedeny různé f jídla Git.
(i) Free & Open Source:
Git je vydáván na základě open source licence GPL (General Public License). Za používání Gitu nemusíte platit nic.
Je to zcela zdarma. Jelikož se jedná o open-source, můžete upravit zdrojový kód podle svých potřeb.
ii) Rychlost:
Jelikož se pro provádění všech akcí nevyžaduje připojení k žádné síti, provádí všechny úkoly rychle. Získání historie verzí z místně uloženého úložiště může být stokrát rychlejší než její získání ze vzdáleného serveru.
Git je napsán v jazyce C, což je základní programovací jazyk, který se vyhýbá režii runtime spojené s jinými jazyky na vysoké úrovni.
(iii) Škálovatelné:
Git je vysoce škálovatelný. Pokud se tedy v nadcházející době zvýší počet spolupracovníků, může Git této změně snadno vyhovět.
Navzdory skutečnosti, že Git představuje celé úložiště, jsou data uchovávaná na straně klienta velmi malá, protože Git komprimuje všechna obrovská data pomocí bezeztrátové kompresní techniky.
(iv) Spolehlivé:
Protože každý spolupracovník má své vlastní lokální úložiště, v případě selhání systému lze ztracená data získat z kteréhokoli z místních úložišť. Po celou dobu budete mít zálohu všech svých souborů.
(v) Zabezpečení:
Git využívá SHA1 (Secure Hash Function) k pojmenování a identifikaci objektů uvnitř svého úložiště. Každý artefakt a potvrzení jsou sečteny a získány prostřednictvím kontrolního součtu během pokladny.
Historie Git je uložena způsobem, ve kterém ID konkrétní verze (potvrzení v podmínkách Git) závisí na celkové historii vývoje běžící k tomuto potvrzení. Jakmile je verze souboru přenesena na Git, neexistuje způsob, jak ji změnit, aniž byste si toho všimli.
vi) Ekonomické:
V případě centralizovaného systému pro správu verzí musí být centrální server dostatečně silný, aby vyhověl požadavkům celého týmu. To není problém pro menší týmy, ale jak se tým rozšiřuje, hardwarová omezení serveru mohou být překážkou výkonu.
V případě distribuovaných systémů pro správu verzí, jako je Git, členové týmu nevyžadují interakci se serverem, očekávají, kdy budou požadovány k provedení změn. Všechny těžké operace se vyskytují na konci klienta, takže hardware serveru může být jistě zcela jednoduchý.
(vii) Podporuje nelineární vývoj:
Git poskytuje rychlé větvení a slučování a obsahuje konkrétní nástroje pro předvídání a procházení nelineární historie vývoje. Základní představa v Gitu spočívá v tom, že změna bude sloučena častěji, než je zapsána, protože je odeslána různým recenzentům.
Git Branches jsou extrémně lehké. Pobočka v Gitu odkazuje pouze na jeden závazek. Kompletní větvovou strukturu lze vytvořit pomocí závazků rodičů.
(viii) Snadné větvení:
Správa poboček prostřednictvím Gitu je velmi přímá a snadná. Vytváření, mazání a slučování větví vyžaduje jen pár kroků. Větve funkcí poskytují izolované prostředí pro každou změnu vaší kódové základny.
qtp rozhovor otázky a odpovědi pro zkušené
Když vývojář vyžaduje, aby na něčem začal pracovat, bez ohledu na velikost práce, vytvoří novou větev. Tím je zajištěno, že hlavní větev neustále drží kód kvality výroby.
(ix) Distribuovaný vývoj:
Git poskytuje každému vývojáři místní kopii celé historie vývoje a změny se klonují z jednoho takového úložiště do druhého. Tyto změny se zavádějí jako přidané vývojové větve a lze je sloučit stejným způsobem jako lokálně vyvinutá větev.
(x) Kompatibilita se současnými systémy nebo protokolem:
Úložiště lze publikovat prostřednictvím protokolu HTTP, FTP nebo protokolu Git přes obyčejný soket nebo ssh.
Otázka č. 6) Jak vytvoříte úložiště v Gitu?
Odpovědět: Chcete-li vytvořit úložiště, musíte pro projekt vytvořit adresář, pokud ještě neexistuje, a poté jednoduše spustit příkaz „ git init “. Provedením tohoto příkazu se v adresáři projektu vytvoří adresář .git, tj. Nyní se váš adresář projektu změnil na úložiště Git.
Otázka č. 7) Co je adresář .git?
Odpovědět: V okamžiku, kdy vytvoříte úložiště, najdete v něm adresář .git. Tento adresář .git obsahuje všechna metadata úložiště a udržuje historii všech změn provedených v souborech ve vašem úložišti tím, že udržuje historii potvrzení.
Veškeré informace týkající se revizí, háčků, odkazů, databází objektů, adres vzdáleného úložiště atd. Jsou uloženy v této složce. Toto je nejdůležitější část Gitu. Když klonujete jakékoli úložiště Git na místním počítači, je tento .git adresář, který se skutečně zkopíruje.
Otázka č. 8) Co se stane, když bude odstraněn adresář .git?
Odpovědět: Pokud bude adresář .git / smazán, ztratíte přehled o historii svého projektu. Úložiště již nebude pod kontrolou verzí.
Otázka č. 9) Který příkaz se používá pro psaní zprávy o potvrzení v Gitu?
Odpovědět: Příkaz používaný k předání zprávy git commit je git commit -m „potvrzení zprávy“. Vlajka m se používá k předání zprávy o potvrzení.
Otázka č. 10) Co je to holé úložiště Git? Jak se liší od standardního / nenahraného úložiště Git?
Odpovědět: Repozitáře, které jsou vytvářeny prostřednictvím git init příkaz jsou standardní / nenahraná úložiště Git.
Ve složce nejvyšší úrovně takového úložiště najdete dvě věci:
- Podadresář .git uchovávající všechna metadata a historii vaší repo.
- Pracovní strom.
Úložiště, která jsou vytvořena pomocí git init –bare příkazy jsou známé jako holá úložiště Git. Používají se hlavně ke sdílení. Neobsahují žádný pracovní strom. Udržují historii revizí git vašeho úložiště v kořenové složce, místo aby ji měli uvnitř podsložky .git.
Obsahuje pouze data holého úložiště. Takto se holé úložiště Git liší od standardního úložiště Git. Holé úložiště také nemá výchozí dálkový ovladač původ úložiště, protože slouží jako původní úložiště pro více vzdálených uživatelů.
Protože holé úložiště neobsahuje žádný pracovní prostor, soubor git push a git pull příkazy nefungují na holém repo. Není nutné, abyste provedli jakékoli změny holého repo.
Otázka č. 11) Uveďte některé služby hostování úložiště Git.
Odpovědět:
- Github
- Pikacode
- Gitlab
- Microsoft VSTS
- BitBucket
- GitEnterprise
- SourceForge
- Panel
- Nezbytně
- Beanstalk
- Vypadá to, že
Otázka č. 12) Pojmenujte některé základní operace v Gitu.
Odpovědět: Některé základní operace v Gitu zahrnují:
- Inicializovat
- Přidat
- Spáchat
- Tam
- Táhnout
Otázka č. 13) Pojmenujte některé pokročilé operace v Gitu.
Odpovědět: Některé pokročilé operace v Gitu jsou:
- Větvení
- Sloučení
- Rebasing
Otázka č. 14) Jak budete rozlišovat mezi Git a SVN?
Odpovědět: Git je řízení distribuované verze, zatímco SVN je centralizované. To vede k mnoha rozdílům mezi nimi, pokud jde o jejich vlastnosti a funkce.
Jít | SVN | |
---|---|---|
Obsah | Kryptografický hash SHA-1. | Žádný hašovaný obsah. |
Architektura serveru | Počítač, na kterém je nainstalován váš Git, funguje jako klient i server. Každý vývojář má na svých jednotlivých počítačích místní kopii úplné historie verzí projektu. Změny Git se vyskytují lokálně. Vývojář tedy nemusí být neustále připojen k síti. Pouze pro operace push a pull budou vývojáři potřebovat připojení k internetu, aby se mohli připojit ke vzdálenému serveru. | SVN má samostatného klienta a server. Není místně k dispozici. Budete muset být připojeni k síti, abyste mohli provádět jakoukoli akci. Také v SVN, protože vše je centralizované, takže v případě, že dojde k havárii nebo poškození centrálního serveru, bude to mít za následek celkovou ztrátu dat pro projekt. |
Větvení | Git je většinou preferován vývojáři kvůli jeho efektivnímu modelu větvení. Větve Git jsou lehké, ale výkonné. Jsou to pouze odkazy na konkrétní potvrzení. Pobočku můžete kdykoli vytvořit, odstranit nebo upravit, aniž by to mělo dopad na jiné závazky. S Gitem je tedy vidlice, větvení a sloučení snadné. | SVN má komplikovaný model větvení a slučování a jeho časově náročná správa. V SVN jsou větve generovány jako adresáře v úložišti. Tato adresářová struktura je hlavně problematická. Když je větev připravena, musíte se vrátit zpět do kufru. Jelikož nejste jediný, kdo změny slučuje, nemusí být verze nákladního vozidla považována za pobočku vývojářů. To může vést ke konfliktům, chybějícím souborům a neuspořádaným změnám ve vaší pobočce. |
Řízení přístupu | Git předpokládá, že všichni přispěvatelé budou mít stejná oprávnění. | SVN vám umožňuje definovat řízení přístupu pro čtení a zápis na každé úrovni a úrovni adresáře. |
Kontrolovatelnost | V Gitu jsou změny sledovány na úrovni úložiště. Git se příliš netrápí udržováním přesné historie změn provedených ve vašem úložišti. Distribuovaná povaha Gitu umožňuje každému spolupracovníkovi změnit jakoukoli část historie místního repo. S Gitem je těžké zjistit skutečnou historii změn ve vaší kódové základně. Například po přejmenování v Gitu ztratíte historii. | V SVN jsou změny sledovány na úrovni souboru. SVN udržuje docela konzistentní a přesnou historii změn. Můžete kdykoli v minulosti obnovit přesně stejná data, jaká byla. Historie SVN je trvalá a vždy určitá. |
Požadavky na skladování | Git a SVN ukládají data stejným způsobem. Využití místa na disku je u obou stejné. Jediný rozdíl se projeví v případě binárních souborů. Git není přátelský k binárním souborům. Nemůže zpracovat ukládání velkých binárních souborů. | SVN má kompresní algoritmus xDelta, který funguje pro binární i textové soubory. Takže SVN zvládne ukládání velkých binárních souborů v relativně menším prostoru než Git. |
Použitelnost | Git i SVN používají jako primární uživatelské rozhraní příkazový řádek. Git je z velké části používán vývojáři / technickými uživateli. | SVN je z velké části používán netechnickými uživateli, protože je snazší se ho naučit. |
Globální číslo revize | Není dostupný | K dispozici |
Otázka č. 15) Jak budete rozlišovat mezi Git a GitHub?
Odpovědět: Git je vysoce kvalitní systém pro správu verzí. Je distribuován v přírodě a slouží ke sledování změn ve zdrojovém kódu během vývoje softwaru. Má jedinečný model větvení, který pomáhá při synchronizaci práce mezi vývojáři a sledování změn v libovolných souborech.
Primárními cíli Gitu jsou rychlost, integrita dat, poskytování podpory distribuovaným nelineárním pracovním tokům. Git je nainstalován a udržován na místním počítači, místo cloudu.
GitHub je cloudová hostingová služba úložiště Git, která spojuje týmy. Poskytuje vám webové grafické uživatelské rozhraní a poskytuje řízení přístupu a mnoho funkcí pro spolupráci, základní nástroje pro správu úkolů pro každý projekt.
GitHub je také open-source, tj. Kód je uchováván na centralizovaném serveru a je přístupný všem.
Otázka č. 16) Co je konflikt v Gitu a jak jej vyřešit?
Odpovědět: Git má funkci automatického slučování, která zpracovává závazky sloučení sama, za předpokladu, že ke změnám kódu došlo na různých řádcích a v různých souborech.
Ale v případě soutěžení o závazky, kde dochází ke změnám ve stejných řádcích kódu souboru nebo byl soubor odstraněn v jedné větvi, ale existuje a upraven v jiné, Git není schopen automaticky vyřešit rozdíly a tím vyvolává konflikt sloučení.
V takových případech to vyžaduje vaši pomoc při rozhodování, který kód zahrnout a který kód zahodit při konečném sloučení.
Ke konfliktu sloučení může dojít během sloučení větve, rebasingu větve nebo výběru třešně a potvrzení. Jakmile je konflikt detekován, Git zvýrazní konfliktní oblast a požádá vás, abyste ji vyřešili. Jakmile je konflikt vyřešen, můžete pokračovat ve sloučení.
Postupujte podle následujících kroků a vyřešte konflikt sloučení konfliktu spojování linek:
- Otevřete Git Bash (příkazový řádek Git).
- Použití CD příkaz pro přechod do místního úložiště Git, které má konflikt sloučení.
- Použijte stav git příkaz k vytvoření seznamu souborů ovlivněných konfliktem sloučení.
- Otevřete textový editor, který používáte, a přejděte do souboru, který má konflikty sloučení.
- Chcete-li vidět začátek konfliktu sloučení ve vašem souboru, vyhledejte v dokumentu 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 <<<<<<>>>>>> JMÉNO POBOČKY.
- Vyberte si v případě, že potřebujete zachovat pouze změny vaší pobočky, ponechat pouze změny druhé pobočky nebo provést novou změnu, která může zahrnovat změny ze dvou větví. Vymažte značky konfliktu<<<<<<>>>>>> a proveďte změny, které potřebujete při konečném sloučení.
- Použití git dodává. příkaz pro přidání nebo provedení změn.
- Nakonec použijte git commit -m „zpráva“ příkaz k potvrzení změn pomocí komentáře.
Chcete-li vyřešit odstraněný konflikt sloučení souborů, musíte postupovat podle následujících kroků:
- Otevřete Git Bash (příkazový řádek Git).
- Použití CD příkaz pro přechod do místního úložiště Git, které má konflikt sloučení.
- Použijte stav git příkaz k vytvoření seznamu souborů ovlivněných konfliktem sloučení.
- Otevřete textový editor, který používáte, a přejděte do souboru, který má konflikty sloučení.
- Vyberte, zda si přejete ponechat odstraněný soubor. Nejnovější změny provedené v odstraněném souboru můžete zkontrolovat v textovém editoru.
- Použití git přidat příkaz pro přidání odebraného souboru zpět do úložiště. Nebo použijte jdi rm příkaz k odebrání souboru z vašeho úložiště.
- Nakonec použijte git commit -m „zpráva“ příkaz k potvrzení změn pomocí komentáře.
Otázka č. 17) Jak opravíte Broken Commit?
Odpovědět: Nejvhodnější metodou pro opravu poškozeného potvrzení nebo pro změnu posledního potvrzení je použití příkazu „ git commit -amend ' .
Umožňuje vám kombinovat postupné změny s předchozím potvrzením jako alternativu k vytvoření zcela nového potvrzení. Tím se nahradí nejnovější potvrzení revidovaným potvrzením.
(obraz zdroj )
Prostřednictvím tohoto příkazu můžete také upravit předchozí zprávu o potvrzení bez změny jejího snímku.
Otázka 18) Jaké je použití git instaweb?
Odpovědět: Jedná se o skript, pomocí kterého můžete okamžitě procházet pracovní úložiště Git ve webovém prohlížeči.
Tento skript nastavuje gitweb a webový server k procházení místního úložiště. Automaticky směruje webový prohlížeč a spouští webový server prostřednictvím rozhraní do vašeho místního úložiště.
Otázka č. 19) Co je to git is-tree?
Odpovědět: „Git is-tree“ označuje stromový objekt obsahující režim a název všech položek spolu s hodnotou SHA-1 objektu blob nebo stromu.
Otázka č. 20) Existuje způsob, jak vrátit git commit, který je již tlačen a zveřejněn?
Odpovědět: Ano, k opravě nebo vrácení chybného potvrzení existují dva přístupy, které lze použít na základě scénáře.
Oni jsou:
- Velmi zřejmým způsobem je provést nové potvrzení, kde odstraníte chybný soubor nebo opravíte chyby v něm. Po dokončení jej můžete odeslat do vzdáleného úložiště.
- Dalším přístupem je vytvoření nového potvrzení, které zruší všechny změny provedené v předchozím chybném potvrzení. To lze provést pomocí příkazu git revert - “ git revert '
Otázka č. 21) Jak budete rozlišovat mezi git pull a git fetch?
Odpovědět: Git zatáhněte příkaz vytáhne všechny nové závazky z konkrétní větve v centrálním úložišti a aktualizuje cílovou větev ve vašem místním úložišti.
Načíst git také se zaměřuje na stejnou věc, ale jeho základní funkce je trochu jiná. Když provedete načtení git, všechny nové revize z konkrétní větve budou staženy do vašeho centrálního úložiště a tyto změny budou uloženy do nové větve v místním úložišti. Tomu se říká načtená větev.
Chcete-li tyto změny vidět ve své cílové větvi, musíte provést a jít sloučit po načtení git. Cílová větev bude aktualizována nejnovějšími změnami až po sloučení s načtenou větví.
Takže git pull přináší místní pobočku aktuální se svou vzdálenou verzí, zatímco git fetch přímo nezmění vaši vlastní místní pobočku nebo pracovní kopii pod doporučení / hlavy. Git fetch lze použít k aktualizaci větví vzdáleného sledování pod refs / remotes //.
Jednoduše řečeno, git pull se rovná git fetch následovaný git merge .
Otázka č. 22) Jaké je použití pracovní oblasti nebo indexování v Gitu?
Odpovědět: Z pohledu Gitu existují tři oblasti, kde lze změny souboru zachovat, tj. Pracovní adresář, pracovní oblast a úložiště.
Nejprve provedete změny v pracovním adresáři projektu uloženém v systému souborů vašeho počítače. Všechny změny zde zůstanou, dokud je nepřidáte do mezilehlé oblasti zvané pracovní oblast.
Změny můžete provést provedením git přidat. příkaz. Tato pracovní oblast poskytuje náhled na další potvrzení a v zásadě vám umožňuje doladit vaše potvrzení. Můžete přidat nebo odebrat změny v pracovní oblasti, dokud nebudete spokojeni s verzí, kterou se chystáte potvrdit.
Jakmile ověříte své změny a odhlásíte se ze změněné fáze, můžete změny konečně potvrdit. Po potvrzení přejdou do místního úložiště, tj. Do adresáře .git / objects.
Pokud používáte Git GUI, uvidíte možnost provést změny. Na níže uvedeném snímku obrazovky je soubor sample.txt v oblasti nestádiových změn, což znamená, že je ve vašem pracovním adresáři.
Můžete vybrat soubor a kliknout na „fáze změněna“, poté bude přesunut do pracovní oblasti. Například , soubor hello.txt je přítomen v oblasti se změnou fáze (odevzdá se). Můžete ověřit své změny a poté provést odhlášení, po kterém následuje potvrzení.
Staging se také označuje jako indexování, protože git udržuje indexový soubor, aby sledoval změny souborů v těchto třech oblastech. Soubory, které jsou uspořádány, jsou aktuálně ve vašem indexu.
Když přidáte změny do pracovní oblasti, informace v indexu se aktualizují. Když uděláte potvrzení, je to vlastně to, co je v indexu, který dostane potvrzení, a ne to, co je v pracovním adresáři. Můžete použít stav git příkaz, abyste viděli, co je v indexu.
Otázka č. 23) Co je Git Stash?
Odpovědět: Úložiště GIT zachycuje aktuální stav pracovního adresáře a indexu a uchovává ho v zásobníku pro budoucí použití. Vrátí nepotvrzené změny (jak po etapách, tak po etapách) z vašeho pracovního adresáře a vrátí vám čistý pracovní strom.
Nyní můžete pracovat na něčem jiném, a když se vrátíte, můžete tyto změny znovu použít. Pokud tedy chcete přepnout z jednoho kontextu do druhého, aniž byste přišli o aktuální změny, můžete použít stashing.
Je to užitečné při rychlém přepínání kontextu, kdy se nacházíte uprostřed změny kódu, kterou právě teď nechcete spáchat nebo vrátit zpět, a máte na čem pracovat. Příkaz, který se má použít, je git stash.
Otázka č. 24) Co je pokles Git Stash?
Odpovědět: Pokud již konkrétní skrýš nepotřebujete, můžete ji odstranit provedením příkaz git stash drop . Pokud chcete z úložiště odebrat všechny zásoby najednou, můžete spustit příkaz git stash clear .
Otázka č. 25) Co platí pro Git stash? Jak se liší od Git stash popu?
Odpovědět: Oba příkazy se používají k opětovnému použití vašich skrytých změn a zahájení práce od místa, kde jste odešli.
v git stash platí příkaz, změny se znovu použijí na vaši pracovní kopii a budou také uloženy ve schránce. Tento příkaz lze použít, pokud chcete použít stejné skryté změny na více větví.
v git stash pop příkaz, změny jsou odebrány ze zásobníku a znovu použity na pracovní kopii.
Otázka č. 26) Jaké je použití příkazu git clone?
Odpovědět: The git klon příkaz vytvoří kopii stávajícího centrálního úložiště Git do místního počítače.
Otázka č. 27) Kdy se používá příkaz git config?
Odpovědět: The git config Příkaz se používá k nastavení možností konfigurace pro vaši instalaci Git.
Například, poté, co si stáhnete Git, musíte použít níže uvedené konfigurační příkazy k nastavení uživatelského jména a potvrzení e-mailové adresy v Gitu:
$ git config - globální uživatel.název „“
$ git config –global user.email „“
Pomocí tohoto příkazu lze tedy nastavit hlavně věci, jako je chování úložiště, informace o uživateli a předvolby.
Otázka č. 28) Jak zjistíte, zda je pobočka již sloučena do hlavní?
Odpovědět:
Provedením níže uvedených příkazů můžete zjistit stav sloučení větví:
- git větev - sloučený pán: Zobrazí se seznam všech větví, které byly přejmenovány na hlavní.
- git větev - sloučeno: Zobrazí se seznam všech větví, které byly sloučeny do HEAD.
- git větev - bez sloučení: Zobrazí se seznam všech větví, které ještě nejsou sloučeny.
Ve výchozím nastavení tento příkaz informuje o stavu sloučení pouze místních poboček. Pokud chcete vědět o stavu sloučení místní i vzdálené větve, můžete použít -na vlajka. Pokud chcete zkontrolovat pouze vzdálené pobočky, můžete použít -r vlajka.
Otázka č. 29) Co jsou háčky v Gitu?
Odpovědět: Git hooks jsou určité skripty, které Git běží před nebo po události, jako je potvrzení, odeslání, aktualizace nebo příjem. Složku ‚hooks 'najdete v adresáři .git ve vašem místním úložišti. Zde najdete vestavěné skripty pre-commit, post-commit, pre-push, post push.
Tyto skripty se provádějí lokálně před nebo po výskytu události. Tyto skripty můžete také upravit podle svých potřeb a Git provede skript, když dojde k dané události.
Otázka č. 30) Jaké je použití vidlice git? Jak se vidlice liší od klonování?
Odpovědět: Vidlice projektu znamená vytvořit vzdálenou kopii původního úložiště na straně serveru. Tuto kopii můžete přejmenovat a začít s tím dělat nový projekt, aniž by to ovlivnilo původní projekt. Vidlice není základním konceptem Gitu.
Operaci vidlice používá pracovní postup Git a tento nápad existuje déle pro bezplatný a open-source software, jako je GitHub. Obecně platí, že jakmile jste rozdvojili projekt, jen zřídka budete znovu přispívat do nadřazeného projektu.
Například, OpenBSD je unixový open-source operační systém, který byl vyvinut forkingem NetBSD, což je další unixový open-source OS.
Ve vidličce však existuje přímé spojení mezi vaší vidlicovou kopií a původním úložištěm. Kdykoli můžete přispět zpět do původního projektu pomocí požadavků na vyžádání.
Ve vidlicové kopii se všechna hlavní data, jako jsou kódy a soubory, zkopírují z původního úložiště, větve, požadavky na vyžádání a další funkce se však nezkopírují. Vidlice je ideální způsob spolupráce s otevřeným zdrojovým kódem.
Klonování je v podstatě koncept Git. Klon je místní kopie libovolného vzdáleného úložiště. Když klonujeme úložiště, celé zdrojové úložiště spolu s jeho historií a větvemi se zkopíruje do našeho místního počítače.
Na rozdíl od rozvětvení neexistuje přímé spojení mezi klonovaným úložištěm a původním vzdáleným úložištěm. Pokud chcete provést žádosti o stažení a pokračovat zpět k původnímu projektu, měli byste se přidat jako spolupracovník v původním úložišti.
Klonování je také skvělý způsob, jak vytvořit zálohu původního úložiště, protože klonovaná kopie má také celou historii potvrzení.
Otázka č. 31) Jak zjistíte, jaké všechny soubory byly změněny v konkrétním potvrzení Git?
Odpovědět: Použitím hodnoty hash konkrétního potvrzení můžete spustit následující příkaz a získat seznam souborů, které byly změněny v konkrétním potvrzení:
git diff-tree -r {hash}
Zobrazí se seznam všech souborů, které byly změněny, a také soubory, které byly přidány. Příznak -r se používá k vypsání jednotlivých souborů spolu s jejich cestou, místo aby je sbalil pouze v názvech kořenových adresářů.
Můžete také použít následující příkaz:
git diff-tree –no-commit-id – only-name -r {hash}
–No-commit-id přeškolí čísla hash pro potvrzení, aby přišla na výstup. Zatímco -name vylučuje cesty k souborům a na výstupu uvádí pouze názvy souborů.
Q # 32) Jaký je rozdíl mezi git checkout (název pobočky) a git checkout -b (název pobočky)?
Odpovědět: Příkaz pokladna git (název pobočky) přepne z jedné větve na druhou.
Příkaz git checkout -b (název pobočky) vytvoří novou větev a také na ni přepne.
Otázka č. 33) Co je SubGit?
Odpovědět: SubGit je nástroj, který se používá pro migraci SVN na Git. Je vyvinut společností s názvem TMate. Převádí úložiště SVN na Git a umožňuje vám souběžně pracovat na obou systémech. Automaticky synchronizuje SVN s Git.
(obraz zdroj )
Pomocí tohoto nástroje můžete vytvořit zrcadlo SVN || Git. SubGit by měl být nainstalován na váš server Git. Zjistí všechna nastavení vašeho vzdáleného úložiště SVN, včetně revizí SVN, větví a značek, a převede je na potvrzení Git.
Také zachovává historii včetně sledování sloučených dat.
Otázka č. 34) Můžete obnovit smazanou větev v Gitu?
Odpovědět: Ano můžeš. Chcete-li obnovit odstraněnou větev, měli byste znát SHA z hlavy. SHA nebo hash je jedinečné ID, které Git vytváří při každé operaci.
Když odstraníte větev, zobrazí se SHA na terminálu:
Smazaná větev (bylo)
co znamená nesoulad bezpečnostních klíčů
Níže uvedený příkaz můžete použít k obnovení odstraněné větve:
pokladna git -b
Pokud neznáte SHA pro potvrzení na špičce své pobočky, můžete nejprve použít jít reflog příkaz, abyste poznali hodnotu SHA, a poté použijte výše uvedený příkaz k pokladně k obnovení vaší pobočky.
Otázka č. 35) Co je git diff příkaz? Jak se liší od stav git?
Odpovědět: Git rozdíl je víceúčelový příkaz, který lze provést a ukázat rozdíly mezi dvěma libovolnými revizemi, změny mezi pracovním stromem a revizí, změny mezi pracovním stromem a indexem, změny mezi dvěma soubory, změny mezi indexem a stromem atd.
The stav git příkaz se používá ke kontrole úložiště. Zobrazuje stav pracovního adresáře a pracovní oblasti. Zobrazí se seznam souborů, které byly uspořádány, které nebyly uspořádány, a soubory, které nejsou sledovány.
Otázka č. 36) Co obsahuje objekt potvrzení?
Odpovědět: Objekt potvrzení obsahuje hašovací objekt stromu nejvyšší úrovně, rodičovský závazek hash (pokud existuje), informace o autorovi a zadavateli, datum potvrzení a zprávu o potvrzení.
Můžete to zobrazit prostřednictvím git log příkaz.
Příklad:
(obraz zdroj )
Otázka č. 37) Co je git cherry-pick? Jaké jsou scénáře, ve kterých lze použít git cherry-pick?
Odpovědět: Git třešeň je mocný příkaz k použití změn provedených jedním nebo více existujícími revizemi. Umožňuje vám vybrat potvrzení z jedné větve a použít ji na jinou.
git cherry-pick commitSha je příkaz používaný pro sběr třešní. commitSha je odkaz na potvrzení.
Tento příkaz lze použít pro zrušení změn. Pokud jste například omylem provedli potvrzení pro nesprávnou větev, můžete zkontrolovat správnou větev a vybrat třešničku na potvrzení, kam by měla patřit.
Lze jej také použít při týmové spolupráci. Mohou nastat scénáře, kdy je třeba sdílet stejný kód mezi dvěma komponentami produktu. V tomto případě, pokud jeden vývojář již tento kód napsal, může druhý vybrat stejný.
Výběr třešní je také užitečný v opravách hotfix chyb, kde lze potvrzení opravy vybrat třešničkou přímo do hlavní větve, aby se problém vyřešil co nejdříve.
Otázka č. 38) Na co se používá ‚git reset '? Jaký je výchozí režim tohoto příkazu?
Odpovědět: Git reset je mocný příkaz pro zrušení místních změn stavu repozitáře Git. Tento příkaz resetuje aktuální HEAD na zadanou fázi.
Obnoví index i pracovní adresář do stavu vašeho posledního potvrzení. Git reset má tři režimy, tj. Měkký, tvrdý a smíšený. Výchozí režim provozu je smíšený.
Otázka č. 39) Jaký je rozdíl mezi „HEAD“, „pracovním stromem“ a „indexem“?
Odpovědět: Pracovní strom nebo pracovní prostor je adresář obsahující zdrojové soubory, na kterých právě pracujete.
Index je pracovní oblast v Gitu, kde jsou připraveny závazky. Leží mezi revizí a vaším pracovním stromem. Git index je jeden velký binární soubor, který obsahuje všechny soubory v aktuální větvi, jejich názvy, kontrolní součty sha1 a časová razítka.
Tento soubor je k dispozici na /.git/index. HEAD je odkaz nebo ukazatel na nejnovější potvrzení v aktuální větvi pokladny.
Otázka č. 40) Jaký je rozdíl mezi rebase a merge? Kdy byste měli rebase a kdy byste se měli sloučit?
Odpovědět: Příkazy rebase i merge se používají k integraci změn z jedné větve do druhé, ale jiným způsobem.
Jak je vidět na následujících dvou obrázcích, předpokládejme, že máte závazky (to je před sloučením / rebase). Po sloučení získáte výsledek jako kombinaci závazků. Spojuje dohromady historii obou větví a ve větvi funkcí vytváří nové „sloučení“.
Na druhou stranu rebase přesune celou větev funkcí, aby začala na špičce hlavní větve.
(obraz zdroj )
Závazky budou vypadat takto:
Rebasing se nedoporučuje pro veřejné pobočky, protože vytváří nekonzistentní úložiště. Rebasing je však dobrá volba pro soukromé pobočky / individuální vývojáře. Není příliš vhodný pro režim větve na funkci. Ale pokud máte model pobočky na vývojáře, pak rebasing není na škodu.
Rebase je také destruktivní operace, takže váš vývojový tým by měl být dostatečně zkušený, aby jej správně použil. Jinak může dojít ke ztrátě oddané práce.
Kromě toho je vrácení sloučení snazší než vrácení rebase. Pokud tedy víte, že mohou existovat možnosti návratu, měli byste použít sloučení.
Sloučit vytrvá historii tak, jak je, zatímco rebase přepíše historii. Pokud tedy chcete vidět historii úplně tak, jak k ní došlo, měli byste použít sloučení.
Otázka č. 41) Jaká je syntaxe rebasingu?
Odpovědět: Syntaxe příkazu rebase je git rebase (nové potvrzení)
Otázka č. 42) Jak odstraníte soubor z Gitu, aniž byste jej skutečně odstranili z místního souborového systému?
Odpovědět: K tomu můžete použít možnost „v mezipaměti“:
git rm -rf - uloženo $ SOUBORY
Tento příkaz odebere soubory z vašeho úložiště, aniž by je odstranil z vašeho disku.
Otázka č. 43) Jaký je běžný vzor větvení v Gitu?
Odpovědět: Společný vzor větvení je založen na toku git. Má dvě hlavní větve, tj. Hlavní a vývojovou.
- Hlavní větev obsahuje výrobní kód. Veškerý vývojový kód je v určitém okamžiku sloučen do hlavní větve.
- Vývojová větev obsahuje předprodukční kód. Po dokončení funkcí se sloučí do hlavní větve, obvykle prostřednictvím kanálu CI / CD.
Tento model má také několik podpůrných větví, které se používají během vývojového cyklu:
- Pobočky funkcí / tematické větve: Používají se k vývoji nových funkcí pro nadcházející vydání. Může se větvit z vývojové větve a musí být sloučeno zpět do vývojové větve. Obecně tyto větve existují pouze v úložištích vývojářů a nikoli v původu.
- Pobočky oprav hotfix: Používají se k neplánovanému produkčnímu vydání, když je potřeba okamžitě opravit jakoukoli kritickou chybu v živé verzi prod. Mohou se oddělit od pána a musí být sloučeny zpět do vývoje a pána.
- Uvolnit větve: Používají se k přípravě nového produkčního vydání. Větev vydání umožňuje provádět drobné opravy chyb a připravovat metadata k vydání. Mohou odbočit z vývoje a musí být sloučeny zpět do master a rozvíjet.
Závěr
V tomto tutoriálu jsme prošli důležitými otázkami, které jsou obvykle kladeny během rozhovorů s Gitem.
To vám nejen pomůže připravit se na nadcházející pohovory, ale také vyjasní vaše koncepty git.
Vše nejlepší pro váš rozhovor!
Doporučené čtení
- Dotazy a odpovědi na pohovor
- Některé zajímavé otázky týkající se testování softwaru
- Top 40 C Programming Interview Otázky a odpovědi
- Top 40 populárních dotazů a odpovědí na rozhovor s J2EE, které byste si měli přečíst
- ETL Testing Interview Otázky a odpovědi
- 20+ nejčastěji kladených otázek a odpovědí na pohovor
- Nejlepší dotazy a odpovědi na dotazníky společnosti Oracle Forms and Reports
- Některé složité otázky a odpovědi týkající se ručního testování