【025期】Java工具面试题(一):版本控制工具

开篇介绍

你们好,我是Java最全面试题库的提裤姐,今天这篇是Java工具系列的第一篇,主要总结了Git和SVN相关的问题,在后续,会沿着第一篇开篇的知识线路一直总结下去,作到日更!若是我能作到百日百更,但愿你也能够跟着百日百刷,一百天养成一个好习惯。git

Git和SVN有什么区别?

  • Git是分布式的,而SVN不是分布式的
  • Git把内容按元数据方式存储,而SVN是按文件
  • Git的内容的完整性要优于SVN
  • SVN只能有一个指定中央版本库。而 Git能够有无限个版本库。

SVN优缺点?

优势面试

  • 管理方便,逻辑明确,符合通常人思惟习惯。
  • 易于管理,集中式服务器更能保证安全性。
  • 代码一致性很是高。
  • 适合开发人数很少的项目开发。

缺点数据库

  • 服务器压力太大,数据库容量暴增。
  • 若是不能链接到服务器上,就不能提交,还原,对比等等。
  • 不适合开源开发。可是通常集中式管理的有很是明确的权限管理机制(例如分支访问限制),能够实现分层管理,从而很好的解决开发人数众多的问题。

Git优缺点?

优势缓存

  • 适合分布式开发,强调个体。
  • 公共服务器压力和数据量都不会太大。
  • 速度快、灵活。
  • 任意两个开发者之间能够很容易的解决冲突。
  • 离线工做。

缺点安全

  • 代码保密性差,一旦开发者把整个库克隆下来就能够彻底公开全部代码和版本信息。

说一下Git建立分支的步骤?

  • Git branch test    建立test的branch
  • Git checkout dev    切换到dev分支
  • Git pull    远程分支拉到本地
  • Git checkout -b main   建立并切换到main分支
  • Git push origin main    推到远程分支

说一下Git合并的两种方法以及区别?

Git代码合并有两种:Git MergeGit ReBase服务器

Git Merge
这种合并方式是将两个分支的历史合并到一块儿,如今的分支不会被更改,它会比对双方不一样的文件缓存下来,生成一个commit,去push。分布式

Git ReBase
这种合并方法一般被称为“衍合”。他是提交修改历史,比对双方的commit,而后找出不一样的去缓存,而后去push,修改commit历史。工具

Git如何查看文件的提交历史和分支的提交历史?

使用git log命令code

什么是 git stash?

用于临时保存和恢复修改,可跨分支。
使用场景:写着代码,写着写着,别人告诉我bug修好了,我就要去更新一下代码,若是更新冲突,应该把当前代码保存起来,此时可使用git stash命令。
命令的本质帮咱们作了两件事:
①把全部改动作了一个快照,而后保存起来,并还原原来的文件。
②在须要的时候,能够把以前的修改恢复。开发

什么是git stash drop

删除保存的存储。

git config 的做用?

配置或读取相应的环境变量。
这些环境变量,主要保存了 Git 在各个环节的具体工做方式和行为。
位置:

  • 用户主目录的.gitconfig
  • 工做目录的.git下面的.gitconfig
  • /etc/.gitconfig
相关文章
相关标签/搜索