Die 30 wichtigsten Fragen und Antworten zu Git-Interviews, die Sie 2022 kennen müssen

Veröffentlicht: 2021-01-04

Git wird immer beliebter. Entwickler arbeiten kontinuierlich daran, neuere Versionen der Nicht-Beta-App zu veröffentlichen, um Fehler zu beheben oder ihre Funktionalität zu verbessern. Git dient als Versionskontrolle, bei der alle Änderungen in einem zentralen Repository gespeichert werden.

Jeder Entwickler in einem Team kann die Versionen anzeigen, Änderungen vornehmen und dann hochladen. Es funktioniert auch unglaublich gut für Menschen, die in Remote-Teams oder von zu Hause aus arbeiten. Git wird nicht nur von Entwicklern verwendet. Auch Nicht-Entwickler im Team können damit die neueste Version oder eine bestimmte Version einer App abrufen und zum Testen oder für andere Arbeiten verwenden.

Wo Git ein Befehlszeilentool ist, ist Git Hub das Zentrum, in dem Programmierer ihre Projekte speichern und mit einem Team kommunizieren.

Daher sind Git-Kenntnisse gefragt, und angesichts der steigenden Nachfrage haben wir eine Reihe von Git-Interviewfragen zusammengestellt, die Ihnen helfen, einen Job zu finden. Um es leichter verständlich zu machen, werden wir die GitHub-Interviewfragen in drei Abschnitte unterteilen – Anfänger, Fortgeschrittene und Fortgeschrittene.

Inhaltsverzeichnis

Git-Interviewfragen der Grundstufe

Q.1) Erklären Sie den Unterschied zwischen SVN und Git

  • SVN ist ein zentrales Versionskontrolltool der zweiten Generation, im Gegensatz zu Git, das ein dezentrales Versionskontrolltool der dritten Generation ist.
  • In SVN speichert ein serverseitiges Repository den Versionsverlauf. In Git können Sie das gesamte Repository auf Ihren PC kopieren.
  • In SVN können Sie nur dann committen, wenn Sie online sind, im Gegensatz zu Git, wo Sie auch offline committen können.
  • Die Pull- und Push-Vorgänge sind in SVN langsamer als in Git, wo es schneller ist.
  • In SVN wird Ihre Arbeit nicht geteilt, bis Sie dies tun, im Gegensatz zu Git, das automatisch geteilt wird.

F.2) Was ist Git?

Git ermöglicht es Entwicklern und Mitgliedern eines Teams, Änderungen zu verfolgen, die von jedem vorgenommen wurden. Außerdem können Sie zu den älteren Versionen zurückkehren. Es ist ein verteiltes Versionskontrollsystem, das dem Team hilft zu wissen, wer die Änderungen an welchem ​​Datum und zu welcher Uhrzeit vorgenommen hat. Es hat seine eigenen Vorteile gegenüber anderen Versionskontrollsystemen.

Der größte Vorteil von Git ist, dass es nicht auf einen zentralen Server angewiesen ist, um alle Versionen eines Projekts zu speichern. Entwickler können Klone (Kopien) eines Repositorys auf ihren eigenen Systemen erstellen, die den gesamten Verlauf anzeigen. Dies hilft insbesondere bei einem Serverausfall. In Git gibt es ein zentrales Cloud-Repository, in dem Programmierer oder Teammitglieder Änderungen festschreiben und mit ihrem Team teilen können.

F.3) Was ist der Unterschied zwischen GitHub und Git?

Ein Git-Repository-Hosting-Service wird als GitHub bezeichnet. Außerdem hat es seine eigenen Funktionen, wie es eine webbasierte grafische Oberfläche bietet. Darüber hinaus bietet GitHub auch Zugriff und dient nicht nur als Verwaltungstool für ein Projekt.

Andererseits ist Git ein Versionskontrollsystem verteilter Natur. Es wird hauptsächlich verwendet, um alle Änderungen zu verfolgen, die in der Nicht-Beta-App vorgenommen wurden. Es bietet Geschwindigkeit, Support und Datenintegrität. Entwickler und andere Teammitglieder können sehen, wer welche Änderungen an welchem ​​Datum vorgenommen hat.

F.4) Was sind die Vorteile der Verwendung des Versionskontrollsystems?

Es hilft dem Team und seinen Mitgliedern, da sie jederzeit arbeiten können, da das Versionskontrollsystem ihnen die Flexibilität gibt, die von ihnen vorgenommenen Änderungen problemlos in der gemeinsamen Version zusammenzuführen.

Der Verlauf zeigt alle älteren Versionen und ihre Varianten, sodass Teammitglieder bei Bedarf zurückkehren können. Die Teammitglieder haben auch eine Momentaufnahme des gesamten Projekts.

Teammitglieder müssen kommentieren, wenn sie Änderungen vornehmen, was anderen hilft zu verstehen, welche genauen Änderungen das Projekt besser organisiert machen. Niemand muss auf eine Erklärung warten. Die Teammitglieder wissen genau, wer die Version geändert hat und warum.

Wenn es zu einem unglücklichen Serverausfall kommt, ermöglicht Ihnen ein verteiltes VCS wie Git, den vollständigen Verlauf Ihres Projekts zu haben, da er auf Ihren Desktop heruntergeladen werden kann.

F.5) Welche Sprache wird in Git verwendet?

Die Sprache, die Git verwendet, ist die Sprache „C“, da die von GIT geforderte Geschwindigkeit durch die Sprache „C“ erfüllt werden kann, da sie im Gegensatz zu anderen Hochsprachen die Laufzeit verkürzt.

F.6) Nennen Sie uns einige Git-Repository-Hosting-Funktionen

  • GitHub
  • Gitlab
  • SourceForge
  • Bit Bucket
  • GitEnterprise

F.7) Wie verpflichten Sie sich zu Git?

Um eine Commit-Nachricht zu schreiben, müssen Sie den Befehl „git commit -a“ schreiben.

Das -a in der Befehlszeile befiehlt git, den neuesten Inhalt aller nachverfolgten Dateien, die geändert wurden, festzuschreiben. Sie können den Befehl „git add <file>“ vor git commit -a verwenden, wenn die neuen Dateien zum ersten Mal festgeschrieben werden müssen.

F.8) Wie können Sie einen fehlerhaften Commit reparieren?

Sie können den Befehl „git commit –amend“ verwenden, um einen fehlerhaften Commit zu reparieren. Indem Sie diesen Befehl ausführen, wird die defekte Commit-Meldung im Editor behoben.

Lesen Sie: Die wichtigsten Nagios-Interviewfragen

F.9) Was bedeutet ein Repository in Git?

Es ist ein Ort, an dem Git alle Dateien speichert. Git kann Dateien sowohl im Remote- als auch im lokalen Repository speichern.

F.10) Wie können Sie ein Repository erstellen?

Das Erstellen eines Repositorys ist in Git einfach. Sie müssen ein Verzeichnis für das Projekt erstellen, falls dies noch nicht geschehen ist. Sie müssen dann den Befehl „git init“ ausführen. Dieser Befehl erstellt das Git-Verzeichnis im Projektverzeichnis.

F.11) Erklären Sie „bares Repository“ in Git?

Ein reines Git-Repository wird im Allgemeinen als Remote-Repository verwendet, dh Sie teilen es mit Ihren Teammitgliedern oder anderen Personen. Darin gibt es keinen funktionierenden Baum, da im Remote-Repository keine Arbeit geleistet wird. In anderen Dateien gibt es keine Dateien darin, die Sie bearbeiten werden. Im Gegensatz dazu enthält ein Arbeitsverzeichnis ein .git-Unterverzeichnis mit der gesamten Versionshistorie und auch einem Arbeitsbaum.

F.12) Was meinen Sie mit einem „Konflikt“ in Git?

Typischerweise verwaltet Git alle Zusammenführungen mithilfe seiner automatischen Zusammenführungsfunktionen. Es könnte jedoch zu einem Konflikt kommen, wenn zwei separate Zweige Änderungen in genau derselben Zeile einer Datei erhalten. Es kann auch vorkommen, dass eine Datei aus einem Zweig gelöscht wird, aber in einem anderen bearbeitet wurde. Diese werden zwangsläufig passieren, wenn Sie in einer Teamumgebung arbeiten.

Q.13) Was ist git is-tree?

'git is-tree' stellt ein Baumobjekt dar, das den Modus und den Elementnamen sowie den SHA-1-Wert des Baums oder eines Blobs umfasst.

Git-Interviewfragen für Fortgeschrittene

F. 14) Wie lösen Sie einen Konflikt, wenn er in Git auftritt?

Sie können Konflikte in Git auf folgende Weise lösen:

  1. Stellen Sie fest, welche Dateien den Konflikt verursacht haben.
  2. Lösen Sie den Konflikt, indem Sie Änderungen an dieser bestimmten Datei vornehmen.
  3. Fügen Sie diese Dateien erneut mit dem Befehl git add hinzu.
  4. Verwenden Sie den Befehl git commit, um die Datei festzuschreiben.

F.15) Wenn ein Commit bereits gepusht und veröffentlicht wurde, wie können Sie ihn in Git zurücksetzen?

Dazu gibt es je nach Situation zwei Methoden:

  1. Sie könnten es vollständig entfernen oder die fehlerhafte Datei in einem neuen Commit reparieren und sie dann zurück in das Remote-Repository verschieben. Dies ist die am häufigsten verwendete Methode, um dieses Problem zu beheben. Nachdem Sie die relevanten Änderungen an der Datei mit dem Befehl git commit -m „commit message“ vorgenommen haben, übergeben Sie sie an das Remote-Repository.
  2. Alternativ können Sie einen neuen Commit erstellen, der alle Änderungen rückgängig macht, die im fehlerhaften Commit vorgenommen wurden. Sie könnten dies tun, indem Sie den Befehl git revert <name of bad commit> verwenden

Lesen Sie: Fragen und Antworten zu agilen Vorstellungsgesprächen

F.16) Was ist SubGit?

Es ist ein Tool, das die Migration von SVN zu Fit ermöglicht. Es erstellt einen beschreibbaren Git-Spiegel eines lokalen oder entfernten Subversion-Repositorys und verwendet sowohl Subversion als auch Git, solange Sie möchten. Sie können SubGit verwenden, um einen bidirektionalen Git-SVN-Spiegel eines bestehenden Subversion-Repositorys zu erstellen. Sie können auch schnell einen einmaligen Import von Subversion nach Git durchführen.

F.17) Was ist der Unterschied zwischen dem Befehl git pull und dem Befehl git fetch?

Der Git-Pull-Befehl ruft alle neuen Änderungen oder Commits von einem bestimmten Branch aus Ihrem zentralen Repository ab und aktualisiert Ihren Ziel-Branch in Ihrem lokalen Repository.

Der Git-Abrufbefehl wird für etwas Ähnliches verwendet, weist jedoch einen kleinen Unterschied auf. Beim Abrufen werden alle neuen Commits aus einem bestimmten Zweig abgerufen und in einem neuen Zweig in Ihrem lokalen Repository gespeichert. Wenn Sie diese Änderungen in Ihrem Zielbranch widerspiegeln möchten, müssen Sie git merge aufrufen.

Somit ist Git pull = git fetch + git merge.

F.18) Was ist „Index“ oder „Staging-Bereich“ in Git?

Der Zwischenbereich, in dem Änderungen vor dem Festschreiben formatiert oder überprüft werden können, wird in Git als Index- oder Staging-Bereich bezeichnet.

Q.19) Was ist Git Stash? Wie wenden Sie es an?

Es gibt Zeiten, in denen eine Arbeit angehalten werden muss, da Sie vorrangig an einem anderen Zweig arbeiten müssen. Die halbfertige Arbeit kann nicht übernommen werden, da sie sich noch nicht in diesem vollständigen Stadium befindet, aber Sie möchten in kurzer Zeit zurückkommen und daran arbeiten. Um dieses Problem zu lösen, bietet git slash Hilfe an.

Es speichert es in einem Stapel unvollendeter Änderungen, die Sie später vervollständigen und festschreiben können. Um auf diese Arbeit zurückzukommen, müssen Sie lediglich den Befehl git stash to apply aufrufen. Es holt Ihnen Ihre Arbeit von dort, wo Sie sie hinterlassen haben, in Ihr Arbeitsverzeichnis.

F. 20) Wie unterscheidet sich git diff von 'git status'?

'git diff' ist fast ähnlich wie 'git status'; Der einzige Unterschied, den sie beide haben, besteht darin, dass erstere die Unterschiede zwischen verschiedenen Commits aufzeigt. '

F.21) Wie unterscheidet sich „git remote“ von „git clone“?

Wenn Sie einen Eintrag in Ihrer Git-Konfiguration erstellen möchten, der einen Namen für eine bestimmte URL erwähnt, verwenden Sie „git remote add“. Andererseits erstellt „git clone“ ein neues Git-Repository, indem es ein vorhandenes kopiert, das sich unter der URL befindet.

Lesen Sie: Top Fragen und Antworten zu React-Interviews

Q.22) Beschreiben Sie die Verzweigungsstrategien

Jedes Unternehmen hat seine eigenen Verzweigungsstrategien. Hier sind einige der beliebtesten:

  • Funktionsverzweigung – Ein Funktionsverzweigungsmodell speichert alle Änderungen, die für eine bestimmte Funktion innerhalb einer Verzweigung vorgenommen wurden. Erst nach gründlicher Prüfung wird dieser Zweig mit seinem Master zusammengeführt.
  • Release-Branching – Sobald der Entwicklungs-Branch einen Punkt erreicht hat, an dem er bereit für die Veröffentlichung ist; Sie können es klonen oder kopieren, um einen Release-Zweig zu bilden. Nach dem Klonen wird keine neue Funktion hinzugefügt. Sie können nur Fehler beheben, sie dokumentieren oder solche Aktivitäten durchführen, die mit ihrer Verbesserung für die Veröffentlichung zusammenhängen. Einmal getestet, wird es mit seinem Master zusammengeführt und erhält eine Versionsnummer. Außerdem sollte es wieder in den Entwicklungszweig gemergt werden, der sich möglicherweise seit der Veröffentlichung weiterentwickelt hat.
  • Aufgabenverzweigung – In diesem Modell wird jede Aufgabe auf ihrem individuellen Zweig ausgeführt, wobei der Aufgabenschlüssel im Zweignamen enthalten ist. Es ist klar ersichtlich, welcher Code welche Aufgabe durchführt, indem man nach dem Aufgabenschlüssel im Zweignamen sucht.

F.23) Erklären Sie den Gitflow-Workflow?

Gitflow speichert den Verlauf eines bestimmten Projekts, indem es zwei lange laufende parallele Zweige verwendet, die Master und Develop sind:

  • Master – Dies ist bereit für die Verzweigung. Alles ist in dieser Branche getestet und zugelassen.
  • Hotfix – diese Zweige werden verwendet, um Produktionsversionen schnell zu patchen. Sie sind fast wie Ihre Feature Branches und Release Branches; Außerdem basieren sie auf Master statt auf Entwicklung.
  • Entwickeln – Alle Feature-Zweige werden in diesem Zweig zusammengeführt. Dies sind diejenigen, die Tests unterzogen werden. Erst nach strengen Tests wird es mit dem Master-Zweig zusammengeführt.
  • Feature – jedes neue Feature sollte sich in einem eigenen Branch befinden, der dann an den Parent-Branch, den development-Branch, gepusht wird.

F. 24) Wie findet man heraus, ob ein Branch mit dem Master gemergt wird?

Die folgenden Befehle helfen Ihnen zu wissen, ob sie zusammengeführt wurden oder nicht:

git branch –merged – Listet alle Branches auf, die mit dem aktuellen Branch zusammengeführt wurden. Dann kannst du sehen, ob es so ist oder nicht.

git branch –no-merged – Alternativ können Sie diesen Befehl verwenden, um alle Branches zu überprüfen, die nicht mit ihrem Master-Branch zusammengeführt wurden.

F.25) Wie können Sie eine Datei aus Git entfernen, ohne sie aus Ihrem Dateisystem zu löschen?

Sie müssen beim Hinzufügen von Dateien zu Git vorsichtig sein, um nicht am Ende falsche Dateien hinzuzufügen. Der Befehl git rm entfernt es sowohl aus dem Staging-Bereich als auch aus dem Dateisystem, sodass Sie stattdessen den Befehl git reset verwenden müssen.

Sie könnten git reset filename oder echo filename >> .gitingore verwenden

F.26) Erklären Sie Rebasing und Merge in Git?

Sie verwenden den Rebase-Befehl, um Bearbeitungen von einem Zweig in einen anderen zu integrieren. Es wird als Alternative zum Merge-Befehl verwendet. Es ist eine Alternative zum „Merge“-Befehl. Es unterscheidet sich von Merge, da es den Commit-Verlauf neu schreibt, um eine gerade, geordnete Abfolge von Commits zu erhalten.

Git-Interviewfragen für Fortgeschrittene:

F.27) Wie komprimieren Sie die letzten N Commits zu einem einzigen Commit?

Es gibt zwei Möglichkeiten, die letzten N Commits zu einem einzigen Commit zusammenzufassen:

Wenn Sie von Anfang an eine neue Commit-Nachricht erstellen möchten, können Sie den folgenden Befehl verwenden:

git reset –soft HEAD~N &&git commit

Wenn Sie die neue Commit-Nachricht einfach mit einer Verkettung der vorhandenen Commit-Nachrichten bearbeiten möchten, müssen Sie diese Nachrichten abrufen und sie mit dem folgenden Befehl an Git Commit übergeben:

git reset –soft HEAD~N &&git commit –edit -m”$(git log –format=%B –reverse .HEAD@{N} )”

F.28) Was sind die Schritte zur Integration von Jenkins in Git?

Schritt 1: Sie müssen auf das Jenkins-Dashboard klicken, um die Jenkins-Schaltfläche zu verwalten.

Schritt 2: Klicken Sie auf die Schaltfläche Plugins verwalten.

Schritt 3: Auf der Plugins-Seite müssen Sie das GIT-Plugin auswählen. Klicken Sie auf Installieren ohne Neustart. Das Plugin wird abhängig von der Geschwindigkeit Ihres Internets automatisch heruntergeladen.

F.29) Erklären Sie, was Git Bisect ist und wie Sie es verwenden, um zur Quelle eines Fehlers zu gelangen?

Mit Git bisect können Sie herausfinden, welches Commit einen Fehler verursacht hat, indem Sie eine binäre Suche verwenden. Der Befehl für Git bisect lautet git bisect <subcommand> <options>

ein binärer Suchalgorithmus, dieser Befehl findet heraus, welcher Commit den Fehler überhaupt verursacht hat. Git bisect wählt einen Commit zwischen den beiden Endpunkten aus, an denen der Fehler eingeführt wurde. Sie müssen zwischen einem guten und einem schlechten Commit unterscheiden. Es filtert es weiter herunter, bis das genaue Commit gefunden ist.

F.30) Erklären Sie ein Git-Relog?

Der 'reflog'-Befehl hilft dabei, jede einzelne Bearbeitung zu verfolgen, die an den Referenzen eines Repositorys vorgenommen wurde. Es führt einen Datenverlauf der Filialen und sogar ein Tag zu den lokal oder extern erstellten .

Dieser Befehl muss in dem Repository ausgeführt werden, das den fehlenden Zweig hatte. Im Fall einer Remote-Repository-Situation müssen Sie den reflog-Befehl auf dem System des Programmierers ausführen, der den Zweig hatte.

Holen Sie sich Software-Engineering-Abschlüsse von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.

Fazit

Wir hoffen, dass die Git Hub-Interviewfragen Ihnen dabei helfen, Ihren Traumjob zu finden. Dies sind die am häufigsten gestellten Git-Fragen des Interviewers. Wir wünschen Ihnen alles Gute für Ihr Vorstellungsgespräch!

Bereiten Sie sich auf eine Karriere der Zukunft vor

Bewerben Sie sich jetzt für den Master in Software Engineering