开篇介绍
大家好,我是 Java 最全面试题库
的提裤姐,明天这篇是 Java 工具系列的第一篇,次要总结了 Git 和 SVN 相干的问题,在后续,会沿着第一篇开篇的常识线路始终总结上来,做到日更!如果我能做到百日百更,心愿你也能够跟着百日百刷,一百天养成一个好习惯。
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 Merge
和 Git ReBase
Git Merge:
这种合并形式是将两个分支的历史合并到一起,当初的分支不会被更改,它会比对单方不同的文件缓存下来,生成一个 commit,去 push。
Git ReBase:
这种合并办法通常被称为“衍合”。他是提交批改历史,比对单方的 commit,而后找出不同的去缓存,而后去 push,批改 commit 历史。
Git 如何查看文件的提交历史和分支的提交历史?
应用 git log
命令
什么是 git stash?
用于长期保留和复原批改,可跨分支。
应用场景:写着代码,写着写着,他人通知我 bug 修好了,我就要去更新一下代码,如果更新抵触,应该把以后代码保存起来,此时能够应用 git stash 命令。
命令的实质帮咱们做了两件事:
①把所有改变做了一个快照,而后保存起来,并还原原来的文件。
②在须要的时候,能够把之前的批改复原。
什么是 git stash drop
删除保留的存储。
git config 的作用?
配置或读取相应的环境变量。
这些环境变量,次要保留了 Git 在各个环节的具体工作形式和行为。
地位:
- 用户主目录的.gitconfig
- 工作目录的.git 上面的.gitconfig
- /etc/.gitconfig