git常见的面试题

Posted andy0816

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git常见的面试题相关的知识,希望对你有一定的参考价值。

#####################################

如果代码出现bug,你们是如何解决的?
创建一个bug分支,然后进行bug处理,处理完毕后,合并到review分支,组长review成功后才能够合并到master
合并完成之后删除bug分支
回到dev分支继续开发。

 

###################################

git rebase的作用?
场景:在公司开发忘记提交到github托管,在家里又继续开发新的功能,
然后到公司昨天的代码跟你的新功能合并的时候可以用git fecth ---> git rebase
那么他的提交记录就不会出现分叉,保持了提交记录的整洁.

 

###################################

谁来做代码review?
做代码review
  -组长
  -带你的人

 

#################################

如何做代码的review?
创建review分支,然后再创建自己的个人分支,当你完成自己的业务逻辑的时候,
再合并到review分支.给组长做代码的review

 

###############################

使用的github 还是gitlab?
用的是github,因为公司比较小,所以没有自己搭建gitlab,
但是用github的时候代码一定要用保密的,9美元建立一个仓库

 

###############################

列举工作中常用的几个git命令?
新增文件的命令:git add file或者git add .
提交文件的命令:git commit –m或者git commit –a
查看工作区状况:git status –s
拉取合并远程分支的操作:git fetch/git merge或者git pull
查看提交记录命令:git reflog

 

################################

提交时发生冲突,你能解释冲突是如何产生的吗?你是如何解决的?
开发过程中,我们都有自己的特性分支,所以冲突发生的并不多,但也碰到过。诸如公共类的公共方法,我和别人同时修改同一个文件,他提交后我再提交就会报冲突的错误。 发生冲突,在IDE里面一般都是对比本地文件和远程分支的文件,然后把远程分支上文件的内容手工修改到本地文件,
然后再提交冲突的文件使其保证与远程分支的文件一致,这样才会消除冲突,然后再提交自己修改的部分。
特别要注意下,修改本地冲突文件使其与远程仓库的文件保持一致后,需要提交后才能消除冲突,否则无法继续提交。必要时可与同事交流,消除冲突。

 

####################################

你使用过git stash命令吗?你一般什么情况下会使用它?
命令git stash是把工作区修改的内容存储在栈区。 以下几种情况会使用到它: 解决冲突文件时,会先执行git stash,然后解决冲突; 遇到紧急开发任务但目前任务不能提交时,会先执行git stash,然后进行紧急任务的开发,然后通过git stash pop取出栈区的内容继续开发; 切换分支时,当前工作空间内容不能提交时,会先执行git stash再进行分支切换;

 

########################################

如何查看分支提交的历史记录?查看某个文件的历史记录呢?
查看分支的提交历史记录:
命令git log –number:表示查看当前分支前number个详细的提交历史记录;
命令git log –number –pretty=oneline:在上个命令的基础上进行简化,只显示sha-1码和提交信息;
命令git reflog –number: 表示查看所有分支前number个简化的提交历史记录;
命令git reflog –number –pretty=oneline:显示简化的信息历史信息;

 

#######################################

git pull 和 git fetch 有什么区别?
git pull 命令从中央存储库中提取特定分支的新更改或提交,并更新本地存储库中的目标分支。
git fetch 也用于相同的目的,但它的工作方式略有不同。当你执行 git fetch 时,
它会从所需的分支中提取所有新提交,并将其存储在本地存储库中的新分支中。如果要在目标分支中反映这些更改,
必须在 git fetch 之后执行git merge。只有在对目标分支和获取的分支进行合并后才会更新目标分支。
为了方便起见,请记住以下等式: git pull
= git fetch + git merge

 

#######################################

 

以上是关于git常见的面试题的主要内容,如果未能解决你的问题,请参考以下文章

Mybatis最全的高质量面试题和答案—3

一道经典面试题:字符串在Java中如何通过“引用”传递

使用 Git 来管理 Xcode 中的代码片段

面试必备 | 常见C++笔试面试题整理

前端面试题之代码输出篇

前端面试题之手写代码篇