• 在线客服

  • 扫描二维码
    下载博学谷APP

  • 扫描二维码
    关注博学谷微信公众号

  • 意见反馈

原创 复工后求职Git面试题整理

发布时间:2020-03-02 23:52:05 浏览 3912 来源:博学谷 作者:照照

    随着疫情的好转,近期将迎来复工热潮,不少公司企业也纷纷开始了招聘。虽然说受疫情影响,招聘需求比起往年有了一定程度的减少,但是总体上来看互联网公司的技术岗位仍然处于人才紧缺的现状,因此大家更要抓住这次复工求职的机会,好好准备面试。本文为大家整理了Java面试必考的Git面试题,需要复习这部分知识点的朋友可以尝试着做一做。

     

    Git面试题

     

    1、“git pull”和“git fetch”有什么联系?

     

    答案:归纳一下,git pull git fetch + git merge。当你使用 pullGit 会试着自动为你完成工作。它是上下文敏感的,所以 Git 会把所有拉取的提交合并到你当前处理的分支中。pull 则是自动合并提交而没有让你复查的过程。如果你没有细心管理你的分支,你可能会频繁遇到冲突。当你 fetchGit 会收集目标分支中的所有不存在的提交,并将这些提交存储到本地仓库中。但Git 不会把这些提交合并到当前分支中。这种处理逻辑在当你需要保持仓库更新,在更新文件时又希望处理可能中断的事情时,这将非常实用。而将提交合并到主分支中,则该使用 merge

     

    2forking的工作流程有哪些优点?

     

    答案:它不是用单个服务端仓库充当中央代码库,而是为每个开发者提供自己的服务端库。forking工作流程最常用于公共开源项目中。Forking工作流程的主要优点是可以汇集提交贡献,又无需每个开发者提交到一个中央仓库中,从而实现干净的项目历史记录。开发者可以推送代码到自己的服务端仓库,而只有项目维护人员直接推送代码到官方仓库中。当开发者准备发布本地提交时,他们的提交会推送到自己的公共仓库中,而不是官方仓库中。然后他们向主仓库请求拉取(pull request),这会告知项目维护人员由可以集成的更新。

     

    3Git常用命令有哪些?

     

    答案:git show # 显示某次提交的内容 git show $id

     

    git add <file> # 将工作文件修改提交到本地暂存区

     

    git rm <file> # 从版本库中删除文件

     

    git reset <file> # 从暂存区恢复到工作文件

     

    git reset HEAD^ # 恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改

     

    git diff <file> # 比较当前文件和暂存区文件差异 git diff

     

    git log -p <file> # 查看每次详细修改内容的diff

     

    git branch -r # 查看远程分支

     

    git merge <branch> # branch分支合并到当前分支

     

    git stash # 暂存

     

    git stash pop #恢复最近一次的暂存

     

    git pull # 抓取远程仓库所有分支更新并合并到本地

     

    git push origin master # 将本地主分支推到远程主分支。

     

    4 什么是“git cherry-pick”?

     

    答案:命令 git cherry-pick 通常用于把特定提交从存储仓库的一个分支引入到其他分支中。常见的用途是从维护的分支到开发分支进行向前或回滚提交。这与其他操作(例如:合并(merge)、变基(rebase))形成鲜明对比,后者通常是把许多提交应用到其他分支中。

     

    5 描述一下Gitflow 工作流程吗?

     

    答案:Gitflow 工作流程使用两个并行的、长期运行的分支来记录项目的历史记录,分别是 master develop 分支。Master,随时准备发布线上版本的分支,其所有内容都是经过全面测试和核准的(生产就绪)。Hotfix,维护或修复分支是用于给快速给生产版本修复打补丁的。修复分支很像发布分支和功能分支,除非它们是基于 master 而不是 develop 分支。Develop,是合并所有功能分支,并执行所有测试的分支。只有当所有内容都经过彻底检查和修复后,才能合并到 master 分支。Feature,每个功能都应留在自己的分支中开发,可以推送到 develop 分支作为功能分支的父分支。

     

    6 git stash”在什么情况下使用 ?

     

    答案:git stash 命令把你未提交的修改保存以供后续使用,以后就可以从工作副本中进行还原。

     

    Git面试题

    我们可以使用暂存(stash)的一个地方是,如果我们发现在上次提交中忘记了某些内容,并且已经开始在同一分支中处理下一个提交了:

     

    Git面试题

    7 如何从 git 中删除文件,而不将其从文件系统中删除?

     

    答案:如果你在 git add 过程中误操作,你最终会添加不想提交的文件。但是,git rm 则会把你的文件从你暂存区(索引)和文件系统(工作树)中删除,这可能不是你想要的。换成 git reset 操作:

    git reset filename          # or

     

    echo filename >> .gitingore # add it to .gitignore to avoid re-adding it

     

    上面意思是,git reset <paths> git add <paths> 的逆操作。

     

    8Git HEAD、工作树和索引之间的区别?

     

    答案:该工作树/工作目录/工作空间是你看到和编辑的(源)文件的目录树。该索引/中转区(staging area)是个在 /.git/index,单一的、庞大的二进制文件,该文件列出了当前分支中所有文件的 SHA1 检验和、时间戳和文件名,它不是个带有文件副本的目录。HEAD是当前检出分支的最后一次提交的引用/指针。

     

    以上就是Git面试题的全部整理,大家都会做吗?其实复工之后,求职面试的岗位竞争还是比较激烈的,因此更加要求求职者对面试做好更加充足的准备。相信机会都是留给有准备的人的,如果大家对于找工作还是没有多大把握,就多多充电提升自己吧!

    申请免费试学名额    

在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!

上一篇: 提高Java开发效率的十个编程好习惯 下一篇: 学习MySql需要掌握哪些基础知识?

相关推荐 更多

热门文章

  • 前端是什么
  • 前端开发的工作职责
  • 前端开发需要会什么?先掌握这三大核心关键技术
  • 前端开发的工作方向有哪些?
  • 简历加分-4步写出HR想要的简历
  • 程序员如何突击面试?两大招带你拿下面试官
  • 程序员面试技巧
  • 架构师的厉害之处竟然是这……
  • 架构师书籍推荐
  • 懂了这些,才能成为架构师
  • 查看更多

扫描二维码,了解更多信息

博学谷二维码