GIT 面试问题2025 年 4 月 14 日 | 阅读 8 分钟 1) 什么是 GIT?Git 是一个开源的分布式版本控制系统和源代码管理 (SCM) 系统,它坚持以快速有效地控制小型和大型项目。 2) Git 使用什么语言?Git 使用 'C' 语言。 Git 速度快,'C' 语言通过减少高级语言中包含的运行时间开销来实现这一点。 3) Git 中的仓库是什么?仓库由名为 .git 的列表组成,Git 在其中保存其目录的所有元数据。 .git 文件的内容对 Git 是私有的。 4) Git 中的“裸仓库”是什么?Git 中的“裸”仓库包括版本控制信息,没有工作文件(没有树),并且它不包括特殊的 .git 子目录。相反,它直接在主目录本身中包含 .git 子目录的所有内容,而工作列表包括
5) GIT stash 的目的是什么?GIT stash 获取工作文件和索引的当前状态,并将其放在堆栈上以供下次使用,并为您提供一个干净的工作文件。 因此,如果您正在处理某个对象,并且需要跳到另一个任务,同时又不想丢失当前的编辑内容,则可以使用 GIT stash。 6) 什么是 GIT stash drop?当您完成存储的元素或想要从目录中将其删除时,运行 git 'stash drop' 命令。 默认情况下,它将删除最后添加的存储项目,如果包含作为参数,它也可以删除一个特定主题。 7) 使用 GIT 有哪些优点?以下是 Git 的一些主要优点
8) 'GIT PUSH' 在 GIT 中的功能是什么?'GIT PUSH' 更新远程引用以及相关对象 9) 我们为什么需要在 GIT 中使用分支?借助分支,您可以保留您的分支,并且您也可以在不同的分支之间跳转。 您可以回到过去的工作,同时保持最近的工作完好无损。 10) 'git config' 的目的是什么?'Git config' 是配置 Git 安装选项的好方法。 使用此命令,您可以描述存储库行为、首选项和用户信息。 11) GIT 中“索引”或“暂存区”的定义是什么?当您进行提交时,您可以在名为“暂存区”或“索引”的公共区域对其进行创新、格式化和审查。 12) git 中的“冲突”是什么?当必须组合的提交在某个地方发生了一些更改,而当前操作也在同一地方发生更改时,就会出现“冲突”。 Git 很难预测应该优先考虑哪个更改。 13) git pull 和 git fetch 之间有什么区别?Git pull 命令从您的中央存储库的特定分支中提取创新或提交,并更新您本地存储库中的对象分支。 Git fetch 也用于相同的目的,但它的工作方式略有不同。 当您执行 git fetch 时,它从所需分支中提取所有新的提交,并将其保存在您本地存储库中的一个新分支中。 如果您需要在目标分支中反映这些更改,则应在 git fetch 之后使用 git merge。 您的目标分支只有在合并目标分支和获取的分支后才会恢复。 为了简化操作,请记住下面的等式 Git pull = git fetch + git merge 14) 如何在 Git 中解决冲突?如果您需要在 Git 中解决冲突,请编辑列表以修复不同的更改,然后可以运行“git add”以添加已解决的目录,之后,您可以运行“git commit”以提交修复的合并。 15) git clone 的目的是什么?git clone 命令生成当前 Git 仓库的副本。 为了获得中央仓库的副本,“克隆”是程序员使用的最简单的方法。 16) 什么是 git pull origin?pull 是一个获取和合并。 'git pull origin master' 从源远程的 master 分支(到本地 origin/master 分支)中提取提交,然后将 origin/master 合并到您当前查找的分支中。 17) git commit a 是什么意思?Git 提交“将更改记录到仓库”,而 git push “更新远程引用以及包含的对象”。 因此,第一个用于与您的本地仓库进行网络连接,而后者用于与远程仓库进行通信。 18) 为什么 GIT 比 Subversion 更好?GIT 是一个开源版本控制框架; 它将使您能够运行任务的“修改”,这些任务演示了随着时间推移对代码所做的更改,并且如果您有必要修复这些更改,它也允许您进行回溯。 多个开发人员可以检出和转移更改,并且每个更改都可以归因于特定的开发人员。 19) 解释什么是提交消息?提交消息是 git 的一个组件,它在您提交更改时出现。 Git 为您提供了一个文本工具,您可以在其中输入对提交所做的调整。 20) 为什么创建额外的提交而不是修改现有提交是可取的?有几个原因
21) Git 中的“钩子”由什么组成?此索引包含在运行相关的 git 命令后被颁布的 Shell 内容。 例如,在您运行提交后,Git 将尝试执行 post-commit 内容。 22) Git 和 Github 有什么区别?A) Git 是一个修正控制框架,是一个用于处理您的源代码历史记录的工具。 GitHub 是 Git 仓库的托管功能。 GitHub 是一个网站,您可以在其中转移您的 Git 档案的副本。 它是一个 Git 存储库托管服务,提供 Git 的大部分分布式更新控制和源代码管理 (SCM) 功能,以及包括其功能。 23) 在 Git 中,您将如何返回刚刚推送并公开的提交?此问题可能有两种答案,并且确保您结合了两者,因为可以根据情况使用以下任何选择 在另一个提交中删除或修复错误的文档,并将其推送到远程存储库。 这是纠正错误的独特方法。 一旦您对记录进行了必要的更改,将其提交到远程存储库,为此我将使用 git submit - m "提交消息"。 创建另一个提交,修复在糟糕的提交中进行的所有更改。 为此,我将使用一个命令 git revert <bad commit 的名称> 24) 提交的项目包含什么?提交的项目包含以下部分; 您应该指定下面出现的所有三个部分 一组记录,表示在给定的时间点对任务的条件 对父提交对象的引用 一个 SHAI 名称,一个 40 个字符的字符串,唯一地区分提交对象。 25) 描述您使用的分支系统?这个问题是对您使用 Git 的分支知识的考验,因此,请告知他们您过去如何使用分支以及它有什么作用,您可以参考以下几点 功能分支 组件分支模型将特定组件的大部分更改保留在分支内。 当项目在所有测试中完成并被自动测试批准后,该分支然后合并到主分支中。 任务分支 在这种模型中,每个任务都在其分支上实现,分支名称中包含任务密钥。 很容易看到哪个代码实现了哪个任务,在分支名称中搜索任务密钥。 发布分支 一旦创建分支为发布准备好足够的特征后,您可以克隆该分支以形成一个发布分支。 创建此分支开始下一个发布周期,因此在此之后不应包含任何新功能,只有错误修复、文档生成和其他面向发布的任务才应该进入此分支。 准备好交付时,该发布将合并到主分支中,并使用版本号标记。 同样,它应该再次合并到创建分支中,该分支可能在发布启动后就已推进。 最后,向他们解释分支策略因组织而异,因此我知道基本的分支活动,如删除、合并、检出分支等。 26) 您将通过什么方法在 Git 中知道分支是否已经合并到 master 中?适当的响应是直接的。 要了解分支是否已合并到 master 中,您可以使用以下命令 git branch - merged 它记录已合并到当前分支的分支。 git branch - no merged 它记录尚未合并的分支。 27) 您将如何修复搞砸的提交?要修复任何搞砸的提交,您将使用命令“git commit?correct”。 通过运行此方向,您可以在编辑器中设置搞砸的提交消息。 28) 提及各种 Git 存储库托管功能。以下是 Git 存储库托管功能
29) 提及一些适用于 LINUX 的最佳图形化 GIT 客户端?一些适用于 LINUX 的最佳 GIT 客户端是
30) 什么是 Subgit? 为什么要使用它?'Subgit' 是一个将 SVN 迁移到 Git 的工具。 这是一个稳定且无压力的迁移。 Subgit 是一个公司范围的从 SVN 到 Git 的迁移解决方案,它
|
我们请求您订阅我们的新闻通讯以获取最新更新。