📜  GIT面试问题

📅  最后修改于: 2020-12-14 01:24:06             🧑  作者: Mango

GIT面试问题

1)什么是GIT?

Git是一个开放源代码的分布式版本控制系统和源代码管理(SCM)系统,旨在快速有效地控制小型和大型项目。

2)Git中使用哪种语言?

Git使用“ C”语言。 Git很快,而“ C”语言通过减少高级语言所包含的运行时间的开销使之成为可能。

3)什么是Git中的存储库?

存储库由一个名为.git的列表组成,其中git拥有目录的所有元数据。 .git文件的内容是Git专有的。

4)什么是Git中的“裸仓库”?

Git中的“裸露”存储库包括版本控制信息,没有工作文件(没有树),并且不包含特殊信息。 git子目录。相反,它由直接位于主目录本身中的.git子目录的所有内容组成,而工作列表包括:

  • 一个.git子目录,其中包含与您的回购相关的所有Git关联的修订历史记录。
  • 工作树,或查找项目文件的副本。

5)GIT隐藏的目的是什么?

GIT存放区将获取工作文件和索引的当前状态,然后放入堆栈中以供下一步使用,并为您提供干净的工作文件。因此,如果您在对象中间并且需要跳到另一个任务,并且同时又不想丢失当前的编辑,可以使用GIT存储。

6)什么是GIT藏匿点?

当完成了stashed元素或要从目录中删除它时,请运行git'stash drop'命令。默认情况下,它将删除最后添加的存储项,并且如果您将其作为参数包含,它也可以删除特定主题。

7)使用GIT有什么优势?

以下是Git的一些基本优点:

  • 可以进行数据重复和数据复制
  • 这是一项非常适用的服务
  • 对于一个存储库,您只能拥有一个Git目录
  • 网络性能和磁盘应用程序非常出色
  • 在任何项目上进行协作都毫不费力
  • 您可以在Git中制定任何计划

8)GIT中的“ GIT PUSH”函数是什么?

'GIT PUSH'与相关对象一起更新远程引用

9)为什么我们需要在GIT中分支?

借助分支,您可以保留分支,也可以在不同分支之间跳转。您可以继续过去的工作,同时又可以保持最近的工作完好无损。

10)'git config'的目的是什么?

'Git config'是配置您的Git安装选择的好方法。使用此命令,您可以描述存储库的行为,首选项和用户信息。

11)GIT中“索引”或“暂存区”的定义是什么?

进行提交时,您可以对其进行创新,格式化并在称为“暂存区”或“索引”的公共区域中进行审阅。

12)什么是git中的“冲突”?

当必须合并的提交在一处发生某些更改,而当前行为在同一处发生更改时,就会出现“冲突”。 Git很难预测哪个更改应该优先。

13)git pull和git fetch有什么区别?

Git pull命令从中央存储库的特定分支中提取创新或提交,并更新本地存储库中的对象分支。

Git提取也用于相同的目标,但是它的工作方式略有不同。当您执行git fetch时,它将从所需分支中提取所有新提交,并将其保存在本地存储库中的新分支中。如果您需要在目标分支中反映这些更改,则应在git fetch之后进行git merge。只有将目标分支和获取的分支合并后,才能还原目标分支。为了简化您的操作,请记住以下等式:

git pull = git提取+ git merge

14)如何解决Git中的冲突?

如果需要解决Git中的冲突,请编辑列表以修复不同的更改,然后可以运行“ git add”来添加已解决的目录,然后,您可以运行“ git commit”来提交已修复的目录。合并。

15)git克隆的目的是什么?

git clone命令生成当前Git存储库的副本。要获得中央存储库的副本,“克隆”是程序员最简单的方法。

16)什么是git pull的起源?

拉是一种获得和巩固。 “ git pull origin master”将来自远程源的master分支的提交(进入本地origin / master分支),然后将origin / master组合到您当前查找的分支中。

17)git提交了什么?

Git提交“记录对仓库的更改”,而git push“与包含的对象一起更新远程引用”,因此第一个用于与本地存储库的网络中,而后一个则用于与远程存储库进行通信。

18)为什么GIT比Subversion更好?

GIT是一个开源版本控制框架;它使您能够运行任务的“适应性”,以演示随着时间的推移对代码所做的更改,还使您可以保留重要的回溯并修复这些更改。多个开发人员可以签出并转移更改,然后可以将每个更改归因于特定的开发人员。

19)解释什么是提交消息?

提交消息是git的一个组件,当您提交更改时会显示该消息。 Git为您提供了一个内容工具,您可以在其中输入对提交所做的调整。

20)为什么需要创建一个额外的提交而不是修改现有的提交?

有几个原因

  • 正确的活动将破坏最近保存在提交中的快递。如果仅更改提交消息,那不是问题。但是,如果内容被修改,则排除重要内容的机会仍然更多。
  • 滥用“ git commitamends”会导致少量提交增加并获得不适当的更改。

21)Git中的“挂钩”包括什么?

该索引包含Shell内容,这些内容是在运行相关git命令后制定的。例如,在您运行提交后,Git将尝试执行提交后的内容。

22)Git和Github有什么区别?

A)Git是一个校正控制框架,是处理您的源代码历史记录的工具。

GitHub是Git仓库的托管函数。

GitHub是一个网站,您可以在其中转移Git存档的副本。这是一个Git存储库托管服务,它提供了Git的大多数分布式更新控制和源代码管理(SCM)实用性,包括其功能。

23)在Git中,您将如何返回刚刚被推送并打开的提交?

这个问题可以有两个答案,并确保您将两者结合,因为可以根据情况使用以下任何一种选择:

在另一个提交中删除或修复错误的文档,然后将其推送到远程存储库。这是纠正错误的独特方法。对记录进行必要的更改后,请将其提交到远程存储库以供我使用

git Submit-m“提交消息”。

进行另一个提交,以修复可怕的提交中所做的所有更改。为此,我将利用命令

git revert <错误提交的名称>

24)承诺项包含什么?

提交项目包含以下部分;您应指定以下所有三个:

一组记录,代表给定时间目标上任务的状态

对父提交对象的引用

一个SHAI名,40个字符的字符串,它唯一的区别提交对象。

25)描述您已经使用的分支系统?

这个问题是挑战,您需要按照以下方式使用Git测试您的分支知识,并告知他们您在过去的活动中是如何利用分支的,以及它服务的原因是什么,您可以参考以下提到的要点:

功能分支:

组件分支模型保留分支中特定元素的大部分更改。在项目经过全面测试并通过自动化测试批准时,该分支便会汇入主数据库。

任务分支

在此模型中,每个分配都在其分支上实现,并且分支名称中包含了承接密钥。很难看到哪个代码实现了哪个任务,然后在分支名称中搜索任务键。

发布分支

一旦create分支获得了足够的功能以进行放电,您就可以克隆该分支以构架Release分支。使这个分支开始下一个放电周期,因此在此之后,不能再包含任何新功能,只需在该分支中进行bug修复,文档使用年限以及其他面向发行版的工作即可。当准备好交付时,该发布将被集中到主版本中并标有表格编号。同样,应该再次将其融合到创建分支中,此分支自发行版开始以来可能已经有所发展。

最后,向他们披露分支方法会从一个关联开始波动,然后到下一个关联,因此我意识到了必不可少的分支活动,例如删除,合并,签出分支等。

26)如果分支刚刚合并到master,您将在Git中通过哪种方法知道?

适当的响应是立即的。

要了解分支是否已合并到master中,可以使用以下命令:

git branch-merged记录已合并到当前分支的分支。

git branch-没有合并它记录了尚未合并的分支。

27)您如何解决混乱的提交?

要修复任何混乱的提交,您将使用“ git commit?correct”命令。通过运行此方向,可以在编辑器中设置损坏的提交消息。

28)提及各种Git存储库托管功能。

以下是Git存储库的托管功能:

  • 皮卡码
  • Visual Studio在线
  • 的GitHub
  • GitEnterprise
  • SourceForge.net

29)是否为LINUX提到了一些最好的图形GIT客户?

LINUX的一些最佳GIT客户是

  • 吉特可乐
  • 智能git
  • 吉特
  • Git GUI
  • 傻笑
  • qGit

30)什么是Subgit?为什么要使用它?

“ Subgit”是将SVN迁移到Git的工具。这是一种稳定且无压力的迁移。 Subgit是将公司范围从SVN迁移到Git的解决方案之一,该解决方案是:

  • 它比git-svn好得多
  • 无需更改已放置的基础结构。
  • 它允许使用所有git和所有子版本功能。
  • 它提供了无压力的迁移体验。