Java高级面试题!福州Java培训学校

Posted 程序员环西

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java高级面试题!福州Java培训学校相关的知识,希望对你有一定的参考价值。

Git是什么

在回忆Git是什么的话,我们先来复习这几个概念哈~

什么是版本控制?

百度百科定义是酱紫的~

版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。

那些年,我们的毕业论文,其实就是版本变更的真实写照…脑洞一下,版本控制就是这些论文变更的管理~

什么是集中化的版本控制系统?

那么,集中化的版本控制系统又是什么呢,说白了,就是有一个集中管理的中央服务器,保存着所有文件的修改历史版本,而协同开发者通过客户端连接到这台服务器,从服务器上同步更新或上传自己的修改。

什么是分布式版本控制系统?

分布式版本控制系统,就是远程仓库同步所有版本信息到本地的每个用户。嘻嘻,这里分三点阐述吧:

  • 用户在本地就可以查看所有的历史版本信息,但是偶尔要从远程更新一下,因为可能别的用户有文件修改提交到远程哦。
  • 用户即使离线也可以本地提交,push推送到远程服务器才需要联网。
  • 每个用户都保存了历史版本,所以只要有一个用户设备没问题,就可以恢复数据啦~

什么是Git?

Git是免费、开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。

Git的相关理论基础

  • Git的四大工作区域
  • Git的工作流程
  • Git文件的四种状态
  • 一张图解释Git的工作原理

Git的四大工作区域

先复习Git的几个工作区域哈:

  • Workspace:你电脑本地看到的文件和目录,在Git的版本控制下,构成了工作区。
  • Index/Stage:暂存区,一般存放在 .git目录下,即.git/index,它又叫待提交更新区,用于临时存放你未提交的改动。比如,你执行git add,这些改动就添加到这个区域啦。
  • Repository:本地仓库,你执行git clone 地址,就是把远程仓库克隆到本地仓库。它是一个存放在本地的版本库,其中HEAD指向最新放入仓库的版本。当你执行git commit,文件改动就到本地仓库来了~
  • Remote:远程仓库,就是类似github,码云等网站所提供的仓库,可以理解为远程数据交换的仓库~

Git的工作流程

上一小节介绍完Git的四大工作区域,这一小节呢,介绍Git的工作流程咯,把git的操作命令和几个工作区域结合起来,个人觉得更容易理解一些吧,哈哈,看图:

git 的正向工作流程一般就这样:

  • 从远程仓库拉取文件代码回来;
  • 在工作目录,增删改查文件;
  • 把改动的文件放入暂存区;
  • 将暂存区的文件提交本地仓库;
  • 将本地仓库的文件推送到远程仓库;

Git文件的四种状态

根据一个文件是否已加入版本控制,可以把文件状态分为:Tracked(已跟踪)和Untracked(未跟踪),而tracked(已跟踪)又包括三种工作状态:Unmodified,Modified,Staged

  • Untracked: 文件还没有加入到git库,还没参与版本控制,即未跟踪状态。这时候的文件,通过git add 状态,可以变为Staged状态
  • Unmodified:文件已经加入git库, 但是呢,还没修改, 就是说版本库中的文件快照内容与文件夹中还完全一致。 Unmodified的文件如果被修改, 就会变为Modified. 如果使用git remove移出版本库, 则成为Untracked文件。
  • Modified:文件被修改了,就进入modified状态啦,文件这个状态通过stage命令可以进入staged状态
  • staged:暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodified状态.

一张图解释Git的工作原理

日常开发中,Git的基本常用命令

  • git clone
  • git checkout -b dev
  • git add
  • git commit
  • git log
  • git diff
  • git status
  • git pull/git fetch
  • git push

这个图只是模拟一下git基本命令使用的大概流程哈~

最后

再免费分享一波我的JAVA架构专题面试真题+解析+JAVA学习书籍:戳这里免费领取

面试真题+解析+JAVA学习书籍:戳这里免费领取](https://gitee.com/vip204888/java-p7)**

[外链图片转存中…(img-i9UpTJIe-1627551479205)]

以上是关于Java高级面试题!福州Java培训学校的主要内容,如果未能解决你的问题,请参考以下文章

Java软件开发面试题!合肥java开发培训

Java开发基础面试题,北大青鸟java培训多久

Java开发基础面试题,北大青鸟java培训多久

秋招面试专题解析高级java工程师培训班

最新美团点评Java团队面试题:java进阶培训班

java培训机构老师为什么那么爱忽悠人,从理论到实践!