Inhaltsverzeichnis
git pull = git fetch + git merge
Heim Entwicklungswerkzeuge Idiot 20 Interviewfragen zu Git

20 Interviewfragen zu Git

Jan 04, 2020 am 09:38 AM
git

Ich liebe Git bei der Arbeit. Git spielt in vielen Entwicklungsteams eine wichtige Rolle und ist eine unverzichtbare Technologie. Daher sind hier einige häufig gestellte Git-Interviewfragen vorbereitet.

20 Interviewfragen zu Git

Die erste Frage zum Git-Interview muss lauten:

1. Was ist der Unterschied zwischen Git und SVN?

tr >
Git SVN
1. Git是一个分布式的版本控制工具 1.  SVN 是集中版本控制工具
2.它属于第3代版本控制工具 2.它属于第2代版本控制工具
3.客户端可以在其本地系统上克隆整个存储库 3.版本历史记录存储在服务器端存储库中
4.即使离线也可以提交 4.只允许在线提交
5.Push/pull 操作更快 5.Push/pull 操作较慢
6.工程可以用 commit 自动共享 6.没有任何东西自动共享
Git
SVN
1. Git ist ein verteiltes Versionskontrolltool 1. SVN ist ein zentralisiertes Versionskontrolltool
2. Es gehört zum Versionskontrolltool der dritten Generation 2. Es gehört zum Versionskontrolltool der zweiten Generation
3.Clients können das gesamte Repository auf ihrem lokalen System klonen 3. Der Versionsverlauf wird im serverseitigen Repository gespeichert
4 Sie können auch senden 4. Nur die Online-Übermittlung ist möglich
5 /pull Der Vorgang ist langsam 6 Projekte können automatisch mit Commit geteilt werden 6. Nichts wird automatisch geteilt

2. Was ist Git?

Ich schlage vor, dass Sie zunächst die Architektur von Git verstehen, bevor Sie diese Frage beantworten. Versuchen Sie, wie in der folgenden Abbildung gezeigt, diese Abbildung zu erklären:

●Git ist verteilt Versionskontrollsystem (DVCS). Es kann Änderungen an Dateien verfolgen und ermöglicht Ihnen, Änderungen an einer bestimmten Version rückgängig zu machen.

● Seine verteilte Architektur bietet viele Vorteile gegenüber anderen Versionskontrollsystemen (VCS) wie SVN. Ein großer Vorteil besteht darin, dass es nicht auf einen zentralen Server angewiesen ist, um alle Versionen von Projektdateien zu speichern.

● Jeder Entwickler kann eine Kopie des Repositorys „klonen“, das ich im Diagramm mit „Lokales Repository“ markiert habe, und hat den vollständigen Verlauf des Projekts auf seiner Festplatte, also wenn der Server zu diesem Zeitpunkt ausfällt Alle Wiederherstellungsdaten, die Sie benötigen, befinden sich im lokalen Git-Repository Ihres Teamkollegen.

 ●Es gibt auch ein zentrales Cloud-Repository, an das Entwickler Änderungen übermitteln und diese mit anderen Teammitgliedern teilen können. Wie in der Abbildung dargestellt, übermitteln alle Mitarbeiter Änderungen an das „Remote-Repository“.

20 Interviewfragen zu Git

Der nächste Satz Git-Interviewfragen testet Ihre Erfahrungen mit Git:

3. In Was ist der Commit-Befehl in Git?

Die Antwort ist ganz einfach.
Der zum Schreiben von Commits verwendete Befehl lautet git commit -a.

Erklären Sie nun das -a-Flag. Indem Sie -a zur Befehlszeile hinzufügen, weisen Sie git an, den neuen Inhalt aller verfolgten Dateien zu übernehmen, die geändert wurden. Erwähnen Sie auch, dass Sie git commit -agit add <file></file> vorher tun können, wenn Sie zum ersten Mal eine neue Datei einreichen müssen.

4. Was ist ein „bares Repository“ in Git?

Sie sollten den Unterschied zwischen „Arbeitsverzeichnis“ und „barem Repository“ erklären.

Ein „nacktes“ Repository in Git enthält nur Versionskontrollinformationen und keine Arbeitsdateien (keinen Arbeitsbaum) und es enthält nicht das spezielle Unterverzeichnis .git. Stattdessen enthält es alles im Unterverzeichnis .git direkt im Home-Verzeichnis selbst, wobei das Arbeitsverzeichnis Folgendes enthält:

1. Ein Unterverzeichnis .git, das alle relevanten Git-Revisionsverläufe für Ihren Repository-Datensatz enthält.

2. Der Arbeitsbaum oder eine Kopie der ausgecheckten Projektdateien.

5. In welcher Sprache ist Git geschrieben?

Sie müssen erklären, warum Sie es verwenden, und nicht nur die Sprache nennen. Ich schlage vor, dass Sie Folgendes beantworten:

Git ist in der Sprache C geschrieben. GIT ist schnell und C erreicht dies durch die Reduzierung des Laufzeitaufwands.

6. Wie stellt man in Git ein Commit wieder her, das gepusht und veröffentlicht wurde?

Auf diese Frage kann es zwei Antworten geben. Stellen Sie sicher, dass Sie beide angeben, da je nach Situation eine der folgenden Optionen verwendet werden kann: 1
Es kann zwei Antworten geben Beantworten Sie diese Frage und stellen Sie sicher, dass Sie beide Antworten angeben. Stellen Sie sicher, dass Sie auch beide Antworten angeben, da je nach Situation die folgenden Optionen verfügbar sind:

● Löschen oder korrigieren Sie die fehlerhafte Datei im neuen Commit und Schieben Sie es in das Remote-Repository. Dies ist die natürlichste Art, Fehler zu beheben. Nachdem Sie die erforderlichen Änderungen an der Datei vorgenommen haben, übertragen Sie sie in das Remote-Repository, das ich verwenden werde

git commit -m "commit message"
Nach dem Login kopieren

 ● Erstellen Sie einen neuen Commit und machen Sie alle im fehlerhaften Commit vorgenommenen Änderungen rückgängig. Sie können den Befehl verwenden:

git revert <name></name>
Nach dem Login kopieren

7. Was ist der Unterschied zwischen Git Pull und Git Fetch? Der Befehl

git pull ruft neue Änderungen oder Commits für einen bestimmten Zweig aus dem zentralen Repository ab und aktualisiert den Zielzweig im lokalen Repository.

git fetch wird ebenfalls für den gleichen Zweck verwendet, funktioniert aber etwas anders. Wenn Sie git fetch ausführen, werden alle neuen Commits aus dem gewünschten Zweig abgerufen und in einem neuen Zweig in Ihrem lokalen Repository gespeichert. Wenn Sie möchten, dass diese Änderungen im Zielzweig widergespiegelt werden, muss git fetch nach git merge ausgeführt werden. Der Zielzweig wird erst aktualisiert, nachdem der Zielzweig und der abgerufene Zweig zusammengeführt wurden. Merken Sie sich der Einfachheit halber die folgende Gleichung:

git pull = git fetch + git merge

8. Was ist „Staging-Bereich“ oder „Index“ in Git?

Versuchen Sie für diese Antwort, das folgende Diagramm zu erklären, wie Sie sehen können: Formatieren und überprüfen Sie es für den „Staging-Bereich“ oder den mittleren Bereich des „Index“. Wie Sie dem Diagramm entnehmen können, wird jede Änderung zunächst im Staging-Bereich validiert, den ich als „Stage-Datei“ bezeichne, und dann werden die Änderungen im Repository festgeschrieben.

20 Interviewfragen zu Git

9. 什么是 git stash?

首先应该解释 git stash 的必要性。

通常情况下,当你一直在处理项目的某一部分时,如果你想要在某个时候切换分支去处理其他事情,事情会处于混乱的状态。问题是,你不想把完成了一半的工作的提交,以便你以后就可以回到当前的工作。解决这个问题的答案是 git stash。

再解释什么是git stash。

stash 会将你的工作目录,即修改后的跟踪文件和暂存的更改保存在一堆未完成的更改中,你可以随时重新应用这些更改。

10. 什么是git stash drop?

通过说明我们使用 git stash drop 的目的来回答这个问题。

git stash drop 命令用于删除隐藏的项目。默认情况下,它将删除最后添加的存储项,如果提供参数的话,它还可以删除特定项。

下面举个例子。

如果要从隐藏项目列表中删除特定的存储项目,可以使用以下命令:

git stash list:它将显示隐藏项目列表,如:

stash@{0}: WIP on master: 049d078 added the index file
stash@{1}: WIP on master: c264051 Revert “added file_size”
stash@{2}: WIP on master: 21d80a5 added number to log

如果要删除名为 stash@{0} 的项目,请使用命令 git stash drop stash@{0}

11. 如何找到特定提交中已更改的文件列表?

对于这个问题,不能仅仅是提供命令,还要解释这个命令究竟做了些什么。

要获取特定提交中已更改的列表文件,请使用以下命令:

git diff-tree -r {hash}

给定提交哈希,这将列出在该提交中更改或添加的所有文件。 -r 标志使命令列出单个文件,而不是仅将它们折叠到根目录名称中。

你还可以包括下面提到的内容,虽然它是可选的,但有助于给面试官留下深刻印象。

输出还将包含一些额外信息,可以通过包含两个标志把它们轻松的屏蔽掉:

git diff-tree –no-commit-id –name-only -r {hash}

这里 -no-commit-id 将禁止提交哈希值出现在输出中,而 -name-only 只会打印文件名而不是它们的路径。

12. git config 的功能是什么?

首先说明为什么我们需要 git config

git 使用你的用户名将提交与身份相关联。 git config 命令可用来更改你的 git 配置,包括你的用户名。

下面用一个例子来解释。

假设你要提供用户名和电子邮件 ID 用来将提交与身份相关联,以便你可以知道是谁进行了特定提交。为此,我将使用:

git config –global user.name "Your Name": 此命令将添加用户名。

git config –global user.email "Your E-mail Address": 此命令将添加电子邮件ID。

13. 提交对象包含什么?

Commit 对象包含以下组件,你应该提到以下这三点:

 ● 一组文件,表示给定时间点的项目状态

 ● 引用父提交对象

 ● SHAI 名称,一个40个字符的字符串,提交对象的唯一标识。

14. 如何在Git中创建存储库?

这可能是最常见的问题,答案很简单。

要创建存储库,先为项目创建一个目录(如果该目录不存在),然后运行命令 git init。通过运行此命令,将在项目的目录中创建 .git 目录。

15. 怎样将 N 次提交压缩成一次提交?

将N个提交压缩到单个提交中有两种方式:

 ● 如果要从头开始编写新的提交消息,请使用以下命令:

git reset –soft HEAD~N &&
git commit
Nach dem Login kopieren

 ● 如果你想在新的提交消息中串联现有的提交消息,那么需要提取这些消息并将它们传给 git commit,可以这样:

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

16. 什么是 Git bisect?如何使用它来确定(回归)错误的来源?

我建议你先给出一个Git bisect 的小定义。

Git bisect 用于查找使用二进制搜索引入错误的提交。 Git bisect的命令是

git bisect <subcommand> <options></options></subcommand>
Nach dem Login kopieren

既然你已经提到过上面的命令,那就解释一下这个命令会做什么。

此命令用了二进制搜索算法来查找项目历史记录中的哪个提交引入了错误。你可以通过告诉它已知包含该错误的“错误”提交以及在引入错误之前已知的“良好”提交来使用它。然后 git bisect 在这两个端点之间选择一个提交,并询问你所选的提交是“好”还是“坏”。它继续缩小范围,直到找到引入更改的确切提交。

17. 如果想要在提交之前运行代码性检查工具,并在测试失败时阻止提交,该怎样配置 Git 存储库?

我建议你先介绍一下完整性检查。

完整性或冒烟测试用来确定继续测试是否可行和合理。

下面解释如何实现这一目标。

这可以通过与存储库的 pre-commit hook 相关的简单脚本来完成。git 会在提交之前触发 pre-commit hook。你可以在这个脚本中运行其他工具,例如 linters,并对提交到存储库中的更改执行完整性检查。

最后举个例子,你可以参考下面的脚本:

#!/bin/sh
files=$(git diff –cached –name-only –diff-filter=ACM | grep ‘.go$’)
if [ -z files ]; then
    exit 0
fi
unfmtd=$(gofmt -l $files)
if [ -z unfmtd ]; then
    exit 0
fi
echo “Some .go files are not fmt’d”
exit 1
Nach dem Login kopieren

这段脚本检查是否需要通过标准 Go 源代码格式化工具 gofmt 传递所有即将提交的 .go 文件。如果脚步以非 0 状态退出,脚本会有效地阻止提交操作。

18. 描述一下你所使用的分支策略?

这个问题被要求用Git来测试你的分支经验,告诉他们你在以前的工作中如何使用分支以及它的用途是什么,你可以参考以下提到的要点:

 ● 功能分支(Feature branching)

要素分支模型将特定要素的所有更改保留在分支内。当通过自动化测试对功能进行全面测试和验证时,该分支将合并到主服务器中。

 ● 任务分支(Task branching)

在此模型中,每个任务都在其自己的分支上实现,任务键包含在分支名称中。很容易看出哪个代码实现了哪个任务,只需在分支名称中查找任务键。

 ● 发布分支(Release branching)

一旦开发分支获得了足够的发布功能,你就可以克隆该分支来形成发布分支。创建该分支将会启动下一个发布周期,所以在此之后不能再添加任何新功能,只有错误修复,文档生成和其他面向发布的任务应该包含在此分支中。一旦准备好发布,该版本将合并到主服务器并标记版本号。此外,它还应该再将自发布以来已经取得的进展合并回开发分支。

最后告诉他们分支策略因团队而异,所以我知道基本的分支操作,如删除、合并、检查分支等。

19. 如果分支是否已合并为master,你可以通过什么手段知道?

答案很直接。

要知道某个分支是否已合并为master,你可以使用以下命令:

git branch –merged 它列出了已合并到当前分支的分支。

git branch –no-merged 它列出了尚未合并的分支。

20. 什么是SubGit?

SubGit 是将 SVN 到 Git迁移的工具。它创建了一个可写的本地或远程 Subversion 存储库的 Git 镜像,并且只要你愿意,可以随意使用 Subversion 和 Git。

这样做有很多优点,比如你可以从 Subversion 快速一次性导入到 Git 或者在 Atlassian Bitbucket Server 中使用SubGit。我们可以用 SubGit 创建现有 Subversion 存储库的双向 Git-SVN 镜像。你可以在方便时 push 到 Git 或提交 Subversion。同步由 SubGit 完成。

推荐学习:git教程

Das obige ist der detaillierte Inhalt von20 Interviewfragen zu Git. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So installieren Sie Deepseek So installieren Sie Deepseek Feb 19, 2025 pm 05:48 PM

Es gibt viele Möglichkeiten, Deepseek zu installieren, einschließlich: kompilieren Sie von Quelle (für erfahrene Entwickler) mit vorberechtigten Paketen (für Windows -Benutzer) mit Docker -Containern (für bequem am besten, um die Kompatibilität nicht zu sorgen), unabhängig von der Methode, die Sie auswählen, bitte lesen Die offiziellen Dokumente vorbereiten sie sorgfältig und bereiten sie voll und ganz vor, um unnötige Schwierigkeiten zu vermeiden.

Zusammenfassung der FAQs für die Verwendung von Deepseek Zusammenfassung der FAQs für die Verwendung von Deepseek Feb 19, 2025 pm 03:45 PM

Deepseekai Tool User Guide und FAQ Deepseek ist ein leistungsstarkes KI -Intelligent -Tool. FAQ: Der Unterschied zwischen verschiedenen Zugriffsmethoden: Es gibt keinen Unterschied in der Funktion zwischen Webversion, App -Version und API -Aufrufen, und App ist nur ein Wrapper für die Webversion. Die lokale Bereitstellung verwendet ein Destillationsmodell, das der Vollversion von Deepseek-R1 geringfügig unteren ist, das 32-Bit-Modell theoretisch 90% Vollversionsfunktion. Was ist eine Taverne? SillyTervern ist eine Front-End-Oberfläche, die das KI-Modell über API oder Ollama anruft. Was ist Breaking Limit

Was sind die KI-Tools? Was sind die KI-Tools? Nov 29, 2024 am 11:11 AM

Zu den KI-Tools gehören: Doubao, ChatGPT, Gemini, BlenderBot usw.

Was sind die Graustufenverschlüsselungsfonds? Was sind die Graustufenverschlüsselungsfonds? Mar 05, 2025 pm 12:33 PM

Grayscale -Investitionen: Der Kanal für institutionelle Anleger, um den Kryptowährungsmarkt zu betreten. Das Unternehmen hat mehrere Krypto -Trusts auf den Markt gebracht, was die weit verbreitete Marktaufmerksamkeit auf sich gezogen hat, die Auswirkungen dieser Mittel auf die Tokenpreise jedoch erheblich variieren. In diesem Artikel werden einige der wichtigsten Krypto -Vertrauensfonds von Grayscale ausführlich vorgestellt. Grayscale Major Crypto Trust Funds, die auf einer Blick Grayscale-Investition erhältlich sind (gegründet von DigitalCurrencyGroup im Jahr 2013), verwaltet eine Vielzahl von Crypto Asset Trust Funds und bietet institutionelle Anleger und Einzelpersonen mit hohem Nettel mit konformen Investitionskanälen. Zu den Hauptfonds gehören: Zcash (ZEC), Sol,

Welche Auswirkungen auf die Branche haben die Top -Markthersteller in den Kryptomarkt? Welche Auswirkungen auf die Branche haben die Top -Markthersteller in den Kryptomarkt? Mar 04, 2025 pm 08:03 PM

Der Einstieg des Makers von Top -Market Maker Castle in den Bitcoin Market Maker ist ein Symbol für die Reife des Bitcoin -Marktes und ein wichtiger Schritt für traditionelle Finanzkräfte, um um zukünftige Vermögenswerte zu konkurrieren. Nach Angaben von Bloomberg versucht Citadel Securities am 25. Februar, ein Liquiditätsanbieter für Kryptowährungen zu werden. Das Unternehmen zielt darauf ab, sich der Liste der Markthersteller an verschiedenen Börsen anzuschließen, einschließlich Börsen, die von CoinbaseGlobal, BinanceHoldings und Crypto.com betrieben werden, sagten mit der Angelegenheit, die mit der Angelegenheit vertraut sind. Nach der Genehmigung von der Börse plante das Unternehmen zunächst, ein Markthersteller -Team außerhalb der USA einzurichten. Dieser Schritt ist nicht nur ein Zeichen

Delphi Digital: Wie kann man die neue KI -Wirtschaft verändern, indem sie die neue Elizaos V2 -Architektur analysiert? Delphi Digital: Wie kann man die neue KI -Wirtschaft verändern, indem sie die neue Elizaos V2 -Architektur analysiert? Mar 04, 2025 pm 07:00 PM

ElizaOSV2: Erleichterung der KI und Führung der neuen Wirtschaft von Web3. Dieser Artikel wird sich mit den wichtigsten Innovationen von Elizaosv2 befassen und wie er eine KI-gesteuerte zukünftige Wirtschaft prägt. KI -Automatisierung: Es war ursprünglich ein KI -Framework, der sich auf Web3 -Automatisierung konzentrierte. Mit der V1 -Version kann AI mit intelligenten Verträgen und Blockchain -Daten interagieren, während die V2 -Version erhebliche Leistungsverbesserungen erzielt. Anstatt nur einfache Anweisungen auszuführen, kann KI Workflows unabhängig verwalten, Geschäft betreiben und finanzielle Strategien entwickeln. Architektur -Upgrade: Verbessert a

Das Geheimnis hinter O1/Deepseek-R1 kann auch in multimodalen großen Modellen verwendet werden Das Geheimnis hinter O1/Deepseek-R1 kann auch in multimodalen großen Modellen verwendet werden Mar 12, 2025 pm 01:03 PM

Forscher der Shanghai Jiaotong University, Shanghai Ailab und der chinesischen Universität von Hongkong haben das Open-Source-Projekt zur Visual-RFT (visuelle Verbesserung der Feinabstimmung) gestartet, für das nur eine geringe Datenmenge erforderlich ist, um die Leistung des visuellen Sprachen-Big-Modells (LVLM) signifikant zu verbessern. Visual-RFT kombiniert geschickt die regelbasierte Verstärkungslernansatz von Deepseek-R1 mit dem RFT-Paradigma (Verstärkung der Verstärkung der Verstärkung) und erweitert diesen Ansatz erfolgreich vom Textfeld auf das Gesichtsfeld. Durch die Gestaltung der entsprechenden Regelprämien für Aufgaben wie die visuelle Unterkategorisierung und Objekterkennung überwindet die visuelle RFT die Einschränkungen der Deepseek-R1-Methode, die auf Text, mathematisches Denken und andere Bereiche beschränkt ist und eine neue Möglichkeit für das LVLM-Training bietet. Vis

Bitweise: Unternehmen kaufen Bitcoin einen vernachlässigten großen Trend Bitweise: Unternehmen kaufen Bitcoin einen vernachlässigten großen Trend Mar 05, 2025 pm 02:42 PM

Wöchentliche Beobachtung: Unternehmen, die Bitcoin horten - ein Brauenwechsel Ich weise oft auf einige übersehene Markttrends in wöchentlichen Memos. Der Schritt von MicroStrategy ist ein starkes Beispiel. Viele Menschen mögen sagen: "Microstrategy und Michaelsaylor sind bereits bekannt, worauf werden Sie achten?" Diese Ansicht ist einseitig. Eingehende Untersuchungen zur Einführung von Bitcoin als Reserve-Vermögenswert in den letzten Monaten zeigen, dass dies kein isolierter Fall ist, sondern ein wichtiger Trend, der sich herausstellt. Ich gehe davon aus, dass in den nächsten 12 bis 18 Monaten Hunderte von Unternehmen dem Beispiel folgen und große Mengen Bitcoin kaufen werden

See all articles