首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【10】进大厂必须掌握的面试题-版本控制面试

这使您可以知道谁在项目中进行了哪些更改。 像Git这样的分布式VCS允许所有团队成员拥有完整的项目历史记录,因此,如果中央服务器出现故障,则可以使用任何队友的本地Git存储库。 Q3。...很容易看到哪个代码实现了哪个任务,只需在分支名称中查找任务键即可。 发布分支 一旦开发分支获得了足够的发布功能,就可以克隆该分支以形成发布分支。...在Git中,如何还原已经被推送并公开的提交? 这个问题可能有两个答案,因此请确保同时包括这两个原因,因为根据情况,可以使用以下任一选项: 在新的提交中删除或修复错误的文件,然后将其推送到远程存储库。...在此脚本中,可以运行其他工具,例如linters,并对提交到存储库中的更改执行完整性检查。 Q12。您如何找到在特定提交中已更改的文件的列表?...输出还将包含一些额外的信息,可以通过包含两个标志来轻松抑制它们: git diff-tree –no-commit-id –name-only -r {hash} 在这里,–no-commit-id将禁止在输出中显示提交哈希

2.6K30

【10】进大厂必须掌握的面试题-版本控制面试

这使您可以知道谁在项目中进行了哪些更改。 像Git这样的分布式VCS允许所有团队成员拥有完整的项目历史记录,因此,如果中央服务器出现故障,则可以使用任何队友的本地Git存储库。 Q3。...很容易看到哪个代码实现了哪个任务,只需在分支名称中查找任务键即可。 发布分支 一旦开发分支获得了足够的发布功能,就可以克隆该分支以形成发布分支。...您如何配置Git存储库以在提交之前运行代码完整性检查工具,并在测试失败后阻止它们? 我建议您先简要介绍一下健全性检查。健全性测试或冒烟测试确定了继续测试是否可行和合理。...在此脚本中,可以运行其他工具,例如linters,并对提交到存储库中的更改执行完整性检查。 Q12。您如何找到在特定提交中已更改的文件的列表?...输出还将包含一些额外的信息,可以通过包含两个标志来轻松抑制它们:git diff-tree –no-commit-id –name-only -r {hash} 在这里,–no-commit-id将禁止在输出中显示提交哈希

2.6K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Git 相关问题

    在Git中,你如何还原已经 push 并公开的提交?...输出还将包含一些额外信息,可以通过包含两个标志把它们轻松的屏蔽掉: git diff-tree –no-commit-id –name-only -r {hash} 这里 -no-commit-id 将禁止提交哈希值出现在输出中...git config 命令可用来更改你的 git 配置,包括你的用户名。 下面用一个例子来解释。 假设你要提供用户名和电子邮件 ID 用来将提交与身份相关联,以便你可以知道是谁进行了特定提交。...然后 git bisect 在这两个端点之间选择一个提交,并询问你所选的提交是“好”还是“坏”。它继续缩小范围,直到找到引入更改的确切提交。 Q17....很容易看出哪个代码实现了哪个任务,只需在分支名称中查找任务键。 发布分支(Release branching) 一旦开发分支获得了足够的发布功能,你就可以克隆该分支来形成发布分支。

    2.1K10

    程序员的20大Git面试问题及答案

    6.在Git中,你如何还原已经 push 并公开的提交?...从图中可以看出,每个更改首先在暂存区域中进行验证,我将其称为“stage file”,然后将更改提交到存储库。9.什么是 git stash?首先应该解释 git stash 的必要性。...输出还将包含一些额外信息,可以通过包含两个标志把它们轻松的屏蔽掉:git diff-tree –no-commit-id –name-only -r {hash}这里 -no-commit-id 将禁止提交哈希值出现在输出中...git config 命令可用来更改你的 git 配置,包括你的用户名。下面用一个例子来解释。假设你要提供用户名和电子邮件 ID 用来将提交与身份相关联,以便你可以知道是谁进行了特定提交。...很容易看出哪个代码实现了哪个任务,只需在分支名称中查找任务键。发布分支(Release branching) 一旦开发分支获得了足够的发布功能,你就可以克隆该分支来形成发布分支。

    30810

    2022 最新 Git 面试题

    6.在Git中,你如何还原已经 push 并公开的提交?...从图中可 以看出,每个更改首先在暂存区域中进行验证,我将其称为“stage file”,然后将更改提交到存储库。 9.什么是 git stash? 首先应该解释 git stash 的必要性。...输出还将包含一些额外信息,可以通过包含两个标志把它们轻松的屏蔽掉: git diff-tree –no-commit-id –name-only -r {hash} 这里 -no-commit-id...git config 命令可用来更改你的 git 配置,包括你的用户 名。 下面用一个例子来解释。 假设你要提供用户名和电子邮件 ID 用来将提交与身份相关联,以便你可以知道是谁进行了特定提交。...很容易看出哪个代码 实现了哪个任务,只需在分支名称中查找任务键。 发布分支(Release branching) 一旦开发分支获得了足够的发布功能,你就可以克隆该分支来形成发布分支。

    22610

    详解Git的基本术语和命令

    一旦您完成了本次编辑,就可以使用“Git add”命令来暂存自己的修改,即:在“暂存区域”中进行“索引”,并显示下一步将要提交的内容预览。...为了同步上述两个阶段,您只需通过Git add来暂存自己在工作目录中的修改便可。 除了添加代码的更改,如果您想撤消索引中的任何变更暂存的话,则需要执行不同的Git命令。...而如果您在此阶段并不需要进行任何更改,那么就可以通过“Git commit”,来通过提交的方式,将代码移动并存储在本地的Git存储库之中。...而且所有的提交日志都被存储在本地的存储库中。 ? 作为一个Git对象,提交会存储各种属性,其中包括:提交ID、作者姓名、创作日期和提交消息(标题和正文)。...当然,Git还包含了更多的概念与实用命令,您可以通过“git help -a”,来拉出全量的命令列表,并通过“git help”,来对某个命令进行深入了解。

    55720

    推行代码提交规范是技术方案助力组织行为变革的典型案例

    通过Git提供的pre-commit hook机制,在用户通过IDE插件或者是git 命令行发起了一次提交后,在commit真正被提交到代码库之前,可以调用这个hook进行一次检查。...尤其是如果没有本地pre-commit hook等措施的配合的话,会导致不合规的commit 还是会被首先提交到本地代码库,然后在push到远端代码库时被拦截。...而此时要让开发人员转而去修改本地代码库中已经提交过的commit 的提交说明,在开发人员的体验上不是很好。所以远端Hook作为一个兜底措施,需要和本地hook等预防性的措施来协同发挥作用。...不过,目前LLM的代码理解能力达到了一定的水准,再结合git diff文件,能比较精准和全面地描述出Commit内容。...开发人员觉得自己在修改自动生成的Commit Message的过程中,如果无意间破坏了格式,导致Commit 在本地提交后被服务端拒绝就比较麻烦,因此希望IDE插件也能提供类似于Git Pre-Commit

    6200

    Git 从入门到放不下

    git branch 创建、重命名、查看、删除项目分支,通过 Git 做项目开发时,一般都是在开发分支中进行,开发完成后合并分支到主干。...id、最近提交原因等信息的本地版本库分支列表 ?...git checkout -p other_branch 这个命令主要用来比较两个分支间的差异内容,并提供交互式的界面来选择进一步的操作,这个命令不仅可以比较两个分支间的差异,还可以比较单个文件的差异。...为当前修改或删除的文件创建一个自定义的栈并返回一个ID,此时并未真正存储到栈里 git stash store xxxxxx 将 create 方法里返回的ID放到 store 后面,此时在栈里真正创建了一个记录...reset 查到有问题的提交ID后回到原分支 更多操作 git submodule 通过 Git 子模块可以跟踪外部版本库,它允许在某一版本库中再存储另一版本库,并且能够保持2个版本库完全独立 git

    2.2K31

    Git 从入坑到放不下

    git branch 创建、重命名、查看、删除项目分支,通过 Git 做项目开发时,一般都是在开发分支中进行,开发完成后合并分支到主干。...查看带有最后提交id、最近提交原因等信息的本地版本库分支列表 ?...git checkout -p other_branch 这个命令主要用来比较两个分支间的差异内容,并提供交互式的界面来选择进一步的操作,这个命令不仅可以比较两个分支间的差异,还可以比较单个文件的差异...为当前修改或删除的文件创建一个自定义的栈并返回一个ID,此时并未真正存储到栈里 git stash store xxxxxx 将 create 方法里返回的ID放到 store 后面,此时在栈里真正创建了一个记录...bisect reset 查到有问题的提交ID后回到原分支 更多操作 git submodule 通过 Git 子模块可以跟踪外部版本库,它允许在某一版本库中再存储另一版本库,并且能够保持2个版本库完全独立

    1.4K30

    可以说是一门奶奶级Git入门教程了

    git branch “创建、重命名、查看、删除项目分支,通过 Git 做项目开发时,一般都是在开发分支中进行,开发完成后合并分支到主干。...查看带有最后提交id、最近提交原因等信息的本地版本库分支列表 git merge “将其它分支合并到当前分支 git merge --squash 将待合并分支上的 commit 合并成一个新的...git checkout -p other_branch 这个命令主要用来比较两个分支间的差异内容,并提供交互式的界面来选择进一步的操作,这个命令不仅可以比较两个分支间的差异,还可以比较单个文件的差异...为当前修改或删除的文件创建一个自定义的栈并返回一个ID,此时并未真正存储到栈里 git stash store xxxxxx 将 create 方法里返回的ID放到 store 后面,此时在栈里真正创建了一个记录...bisect reset 查到有问题的提交ID后回到原分支 更多操作 git submodule “通过 Git 子模块可以跟踪外部版本库,它允许在某一版本库中再存储另一版本库,并且能够保持2个版本库完全独立

    1.8K40

    肝了几夜的 Git 图解来了

    git branch “创建、重命名、查看、删除项目分支,通过 Git 做项目开发时,一般都是在开发分支中进行,开发完成后合并分支到主干。...查看带有最后提交id、最近提交原因等信息的本地版本库分支列表 git merge “将其它分支合并到当前分支 git merge --squash 将待合并分支上的 commit 合并成一个新的...git checkout -p other_branch 这个命令主要用来比较两个分支间的差异内容,并提供交互式的界面来选择进一步的操作,这个命令不仅可以比较两个分支间的差异,还可以比较单个文件的差异...为当前修改或删除的文件创建一个自定义的栈并返回一个ID,此时并未真正存储到栈里 git stash store xxxxxx 将 create 方法里返回的ID放到 store 后面,此时在栈里真正创建了一个记录...bisect reset 查到有问题的提交ID后回到原分支 更多操作 git submodule “通过 Git 子模块可以跟踪外部版本库,它允许在某一版本库中再存储另一版本库,并且能够保持2个版本库完全独立

    29130

    保姆级Git入门教程,万字详解

    git branch “创建、重命名、查看、删除项目分支,通过 Git 做项目开发时,一般都是在开发分支中进行,开发完成后合并分支到主干。...查看带有最后提交id、最近提交原因等信息的本地版本库分支列表 git merge “将其它分支合并到当前分支 git merge --squash 将待合并分支上的 commit 合并成一个新的...git checkout -p other_branch 这个命令主要用来比较两个分支间的差异内容,并提供交互式的界面来选择进一步的操作,这个命令不仅可以比较两个分支间的差异,还可以比较单个文件的差异...为当前修改或删除的文件创建一个自定义的栈并返回一个ID,此时并未真正存储到栈里 git stash store xxxxxx 将 create 方法里返回的ID放到 store 后面,此时在栈里真正创建了一个记录...bisect reset 查到有问题的提交ID后回到原分支 更多操作 git submodule “通过 Git 子模块可以跟踪外部版本库,它允许在某一版本库中再存储另一版本库,并且能够保持2个版本库完全独立

    6.8K32

    连 Git 命令都不会? 还做什么程序员

    要建立一个新的存储库,我们需要打开一个终端,导航到我们的项目目录并运行git init。这将打开Git这个特定的文件夹,并创建一个隐藏的.git目录,其中存储库的历史和配置。...4.从服务器获取更改 - git pull 如果你的代码仓库进行了更新,则可以使用下面单个命令下载更改 - git pull: $ git pull origin master From https:/...这是由于以下几个原因: 一个已经工作,稳定的代码版本不会被破坏。 许多功能可以由不同的人自己立马并能安全稳定的开发。 开发人员可以在自己的分支上工作,而不会因为别人的工作而改变代码库的风险。...当不确定什么是最好的时候,可以在不同的分支上开发相同特征的多个版本,然后进行比较。 1.创建新的分支机构 - git branch 每个存储库的默认分支称为 主(Master)分支。...要查看所有提交及其ID的列表,我们可以使用git log: $ git log commit ba25c0ff30e1b2f0259157b42b9f8f5d174d80d7 Author: Tutorialzine

    70330

    ​2019 DevOps 必备面试题——代码版本控制篇

    只需在分支名称中查找关键词,就能很容易看出哪个代码实现了哪个任务。 发布分支 一旦开发分支为发布获得了足够的特性时,你就可以克隆该分支以形成发布分支。...以下是一些基本的 Git 命令: [2.png] Q7:在 Git 中,如何还原已经被推送并公开的提交?...然后 Git bisect 在这两个时间点之间选择一个提交,并询问你所选的提交是“好”还是“坏”,之后它继续缩小范围,直到找到引入 bug 的确切提交。 Q10:什么是 Git rebase?...Q11:如何配置 Git 存储库,以在提交之前运行代码健康性检查工具,并在测试失败时阻止提交? 我建议你先简要介绍一下合理性检查。合理性或冒烟测试可以用来确定是否进行后续测试的合理性和必要性。...所以你可以这么说,为了获得在特定提交中更改的文件列表使用命令: git diff-tree -r {hash}  给定提交哈希值,这个命令将列出在该提交中更改或添加的所有文件。

    2.1K50

    Hello GitHub

    您不需要知道如何编写代码、使用命令行或者安装Git(版本控制软件GitHub是构建在Git之上的)。 提示:在单独的浏览器窗口(或选项卡)中打开本指南,以便在完成教程中的步骤时可以看到它。...现在您已经在master的分支中进行了更改,可以打开拉请求。 拉请求是GitHub协作的核心。当您打开一个拉请求时,你是在请求某人审查并接受您提议的更改,并将这些更改合并到他们的分支中。...拉请求会显示来自两个分支内容上的差异。对内容的更改,添加和删除等操作将会以绿色和红色显示。 一旦内容提交,你便可以打开拉请求并开始进行讨论啦,这些甚至都可以在代码完成之前进行。...您甚至可以在自己的存储库中打开拉请求并自己合并它们。在进行大型项目之前,这是学习GitHub流程的好方法。...在“示例比较”框中,选择您创建的分支readme-edits与master(原始版本)进行比较。 ? 查看您在比较页面上的差异中的更改,确保它们是您想要提交的。 ?

    1.3K20

    20个你(可能)不知道的Git命令

    Git Diff 用 git diff 可以比较两组代码之间的差异 您可能知道,您可以运行 git diff 来显示自上次提交以来的所有更改,或者使用 git diff 来比较...或者用git diff branch1...branch2来比较两个分支,或者相互参照。...例如:确保符合标准(提交消息、分支名称、补丁大小),代码质量(测试、lint),为提交附加额外信息(用户、设备、ticket ID),调用webhook记录事件或运行管道,等等。...这就是大文件存储的作用--它使你能够将这些大的资产存储在其他地方,同时保持它们在git中的可追踪性,并保持相同的访问控制/权限。LFS的工作原理是将这些大文件替换成文本指针,在git中进行跟踪。... - 显示两个引用之间的所有提交内容 git log -- -- 显示所有只对某一特定文件做出的提交 或者,只需运行git shortlog就可以得到一个夏季的提交列表。

    87340

    通俗易懂地学习 git 中最常用的命令

    本文目录: 一、概述 二、本地仓库的初始化 二、git仓库的基本操作 四、总结 一、概述 在上节,我们一起简单了解了 git ,并使用 git 成功将代码托管到 github。...远端仓库我们可以使用 github,这是最知名的基于 git 的代码免费托管服务,缺点是国内访问可能比较慢。...第 2 列表示 git 提交的唯一标识(我们可以叫做提交 id 或者 commit id);第 3 列表示当前分支提交到远端 master 分支,表示本地当前分支(默认是 master) 提交到远端 master... # 比较两次提交之间的差异 git diff id1> id2> # 在两个分支之间比较 git diff # 比较缓存区和版本库差异,与下一条指令的效果一样...git diff --staged # 比较缓存区和版本库差异,与上一条指令的效果一样 git diff --cached # 仅仅比较统计信息 git diff --stat 但要注意的是,只有使用

    37910

    【Git|GitHub|SSH|Sourcetree 上篇】Git环境搭建及核心概念学习

    另外,版本控制系统在软件开发过程中是必不可少的: 我们很少独自完成一个项目,而在分工合作的同时我们都会有与他人的工作相冲突的风险:尤其是当两个人同时尝试修改同一段代码的时候。...(即提交作者),前提时有提交记录 git init 初始化一个全新的 Git 存储库并开始跟踪现有目录。...Git 跟踪对开发人员代码库的更改,但有必要暂存更改并拍摄更改的快照,以将其包含在项目的历史记录中。 此命令执行暂存,即该两步过程的第一部分。...仓库 在当前目录新建一个Git代码库 $ git init 新建一个目录,将其初始化为Git代码库 $ git init [project-name] 下载一个项目和它的整个代码历史...分支合并冲突问题 当分支merge时,如果分支A的某个文件只是在分支B的该文件上进行了一些修改,当这两个分支合并时,便会出现以下情况,此时我们进入了另一个页面,相当于时对这次合并出现的分支conflict

    1.5K10
    领券