Git面试题

001什么是Git?

Git 是一个开源的分布式版本控制系统,是目前世界上最先进、最流行的版本控制系统。可以快速高效地处理从很小到非常大的项目版本管理。特点:项目越大越复杂,协同开发者越多,越能体现出 Git 的高性能和高可用性。

002Git常用的命令有哪些?

git add 添加文件到暂存区
git commit 提交文件到本地仓库
git pull 从远程仓库拉取项目到本地
git push 将本地仓库的新的改变推送到远程仓库
git clone 将远程仓库复制到本地
git fetch 抓取
git merge 合并

003git pull、git merge、git fetch三个命令的区别?

git clone:是在本地没有版本库的情况下,从远程仓库克隆一份到本地,是一个本地版本库从无到有的过程
git pull:是在本地仓库已经存在的情况下,将远程最新的commits抓取并合并到本地版本库的过程
git fetch: 从远程版本库抓取最新的commits,不会进行合并
git merge:合并
所以git pull = git fetch + git merge

004push之前一定要进行哪个操作?

push之前一定要进行本地更新操作。使用git pull命令或者使用git fetch和git merge的命令组合。这时候,可能会出现版本冲突,如果出现的话,需要解决完冲突再进行代码push。

005Git如何解决版本冲突?

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

006如果代码出现bug,你们用git是如何解决的?

创建一个bug分支,然后进行bug处理,处理完毕后,合并到review分支,组长review成功后才能够合并到master,合并完成之后删除bug分支,回到dev分支继续开发。

007git rebase的作用?

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

008使用的github 还是gitlab?

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

009你使用过git stash命令吗?你一般什么情况下会使用它?

1)解决冲突文件时,会先执行git stash,然后解决冲突;
2)遇到紧急开发任务但目前任务不能提交时,会先执行git stash,然后进行紧急任务的开发,然后通过git stash pop取出栈区的内容继续开发;
3)切换分支时,当前工作空间内容不能提交时,会先执行git stash再进行分支切换;

010如何查看分支提交的历史记录?查看某个文件的历史记录呢?

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

011Git和SVN的区别?

相同点:git和svn都是版本控制系统,两者都有自己的服务器。
区别:
1.git是分布式,svn不是分布式。
2.git把内容按元数据方式存储,而svn按文件。
3.git分支和svn分支不同。
4.git没有一个全局版本号,svn有。
5.git版本号要优于svn

012SVN版本冲突问题如何解决?

解决冲突有三种选择:
A.放弃自己的更新,使用svn revert(回滚),然后提交。在这种方式下不需要使用svn resolved(解决)
B.放弃自己的更新,使用别人的更新。使用最新获取的版本覆盖目标文件,执行resolved filename并提交(选择文件—右键—解决)。
C.手动解决:冲突发生时,通过和其他用户沟通之后,手动更新目标文件。然后执行resolved filename来解除冲突,最后提交。

宝哥面试题分享(16):Git面试题:git常用命令、如何解决版本冲突、git和svn的区别相关推荐

  1. 图解 Git 工作原理和常用命令使用教程

    你知道的越多,不知道的就越多,业余的像一棵小草! 你来,我们一起精进!你不来,我和你的竞争对手一起精进! 编辑:业余草 marklodato.github.io/visual-git-guide/in ...

  2. Git的基本概念/常用命令及实例

    Git的基本概念/常用命令及实例 什么是仓库 在 Git 的概念中,仓库,就是你存在.git目录的那个文件夹内的所有文件,包括隐藏的文件,Git程序会再当前目录以及上级目录查找是否存在.git文件,如 ...

  3. git日常使用的常用命令总结

    git日常使用的常用命令总结 git 是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一). Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常 ...

  4. git push origin master报错的解决方法 常见git命令(待更新)

    git push origin master报错的解决方法 & 常见git命令(待更新) 参考Git常用命令 文章目录 git push origin master报错的解决方法 & ...

  5. git用户名密码,常用命令

    初次down库,pull啥的让输入的用户名密码就是git网站的登录用户名和密码!!! 每次重装系统.去新公司登自己的git都忘了密码是啥玩意- 印象中git只有更改用户名和邮箱的命令,就是不知道密码是 ...

  6. 查看git当前tag_Git tag常用命令分享

    列出所有标签 直接使用git tag即可 git tag v1.0.0 v1.0.1 v1.0.2 如果标签过多,可以搜索 git tag -l 'v1.0*' 显示详细信息 git show v1. ...

  7. 收藏!工作中Git使用实践和常用命令流程合集

    来自:匠心Java 工作中git是一项必不可少的技能,在项目的开发进程中起着至关重要的作用 下面介绍一些git在工作中的一些使用实践.常用流程.常用命令,供大家参考! 一:前言 Git的定义是:分布式 ...

  8. Git基础知识与常用命令

    一:相关概念: 1:工作区(Working Directory): 就是你在电脑里能看到的目录 2:版本库(Repository): 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库. ...

  9. Git 的工作区、暂存区、版本库—— Git 学习笔记 15

    Git 的工作区.暂存区.版本库 大家都知道,在 Git 系统中有 "三棵树" 的概念. 注意:"树" 在这里的意思是 "文件集合",而不是 ...

最新文章

  1. LeetCode简单题之买卖股票的最‭佳时机
  2. linux 双网卡浮动ip,Linux 双网卡绑定一个IP原理及实现
  3. 学计算机科学与技术的专业特长,计算机科学与技术专业简历范文介绍
  4. html div阴影向上,css3阴影向上缓动样式
  5. boost::fusion::filter_if用法的测试程序
  6. 前端性能优化:当页面渲染遇上边缘计算
  7. 微软发招,苹果发飙,React Native躺枪
  8. 关于Cohen-Sutherland算法和Liang-Barsky算法
  9. java字符转为数字_java判断字符串是否可以转为数字
  10. 插入排序和Shell排序
  11. 跟我一起了解less(3):判断和循环
  12. 使用hbase遇到的问题
  13. java猫和猫的名字
  14. 二叉树期CRR权定价模型-python
  15. Python实现快速排序
  16. win2008服务器c盘在线扩容,win7 win10 win2008系统给主分区C盘增加空间 不破坏原硬盘内容扩充C盘 MiniTool Partition Wizard...
  17. CPU指令集存储位置在哪里?
  18. 使用python替换word文档部分内容
  19. ### LinuxCBT VBOX Edition ###
  20. android手机禁止休眠_Android的屏幕禁止休眠和锁屏的方法

热门文章

  1. Vitalik :DAO不是公司,自治组织中的「去中心化」很重要
  2. xmind mac破解版
  3. Java基本信息采集程序
  4. 电脑一次打开多个软件
  5. Resharper.v7.0.1.Incl.Keymaker-CORE
  6. 如何在计算机上注销一个用户登录,怎样取消电脑Administrator登陆方式
  7. OPPO无战事,“不争”能否赢得未来?
  8. 【待分类】用 SimPy 进行离散事件仿真(一)入门篇
  9. JavaFX的:入门使用JavaFX
  10. Practice02