《吊打面试官》系列之GIT面试篇

为什么要编写这个系列?git不熟悉的面试者很难表现出自己熟悉git工作流,那么教大家如何在面试官面前大展雄风!!!

介绍

git是一款代码版本控制软件,目前已被广泛的使用。因此优雅的使用git已经成了开发者的必备技能。 区别于SVN,git的特点是去中心化。

面试开始

以下都是面试经常会问到的问题,大家要记住哦!!!

1.平时开发你是用命令行工具还是可视化工具

面试官的初衷不是想知道你用什么工具,而是想知道你是否熟悉常用的命令和分支,以及如何团队合作

2.常用的分支

名称 说明
master 主分支
develop 开发分支,包含确定即将发布的代码
feature 新功能分支,一般一个新功能对应一个分支
release 发布定期要上线的功能
hotfix 当系统在线上出现bug时,需要火速处理

注:

hotfix是从master分支上切下来, master branch(生产服务器)先回滚到上一个稳定版本来避免bug再出现,开发人员处理掉这个bug后进行单 元测试,回归测试之后,master merge hotfix,别忘了develop branch也要merge 它!

3.常用的命令

不要只说 add commit pull push,这样会显得很初级,以下列出的命令还会有很多参数去延伸,大家要多学习哦

  • git add
  • git commit
  • git status
  • git pull
  • git push
  • git merge
  • git stash
  • git reset
  • git log
  • git diff
  • git remote
  • git clone
  • git branch
  • git config
  • git tag
  • git rm
  • git init
  • git fetch

4.git checkout 可以实现哪些功能

  1. 切换分支
    git checkout 分支名
    
  2. 创建并切换到新分支
    git checkout  -b 分支名
    
  3. 撤销对文件的修改
    git checkout  文件名
    // 撤销所有的文件
    git checkout .
    

5.合并其中一个feature分支有哪几种实现方式

第一种

git pull origin feature

第二种

git merge feature

6.git pull和git fetch的区别

首先在作用上他们的功能是大致相同的,都是起到了更新代码的作用。
pull=fetch+merge,pull的话,下拉远程分支并与本地分支合并。
fetch只是下拉远程分支,怎么合并,可以自己再做选择。

7.讲下git的工作流程

图片来源于网络
没有具体的标准答案,上图是一个工作流程,具体以往下几个知识点分析

  • 每个分支的作用,以及是干什么的
  • 对于 feature 流程,都是从 develop 分支发起,分支合并以及功能管理
  • 对于 hotfix 流程,要从 master 分支发起,修复完要同时合并到 develop 和 master。

Git flow的优点是清晰可控,缺点是相对复杂,需要同时维护两个长期分支。大多数工具都将master当作默认分支,可是开发是在develop分支进行的,这导致经常要切换分支,非常烦人。

面试结束

希望《吊打面试官》系列之GIT面试篇能为你的面试提高通过率!!!
祝福每一位小伙伴都能找到满意的工作!!!

发布了83 篇原创文章 · 获赞 200 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/qq175023117/article/details/105484937