git常见面试题

**

一、git工作中常用命令

#新增文件的命令:
git add file或者git add
#提交文件的命令:
git commit -m或者git commit -a
#查看工作去状况:
git status -s
#拉取合并远程分支的操作:
git fetch/git merge或者git pull
#查看提交记录命令:
git reflog
#下载远程代码命令:
git clone [url]
#新建一个分支,并切换到该分支:
git checkout -b [branch]
#查看修改的文件:
git status
#添加当前目录的所有文件到暂存区:
git add
#提交暂存区到仓库区:
git commit -m[message]
#取回远程仓库的变化,并与本地分支合并:
git pull [remote]
#上传本地指定分支到远程仓库:git push [remote]
#删除分支:
git branch -d [branch-name]
#删除远程分支:git push origin --delete [branch-name] 或
git branch -dr [remote/branch]
#暂时将未提交的变化移除,稍后再移入
git stash 或
git stash pop

二、面试常问的问题

1、问题:公共类或公共方法,两人同时修改同一个文件,一前一后提交就会报冲突错误。
解决办法:IDE一般会对比本地文件和远程分支文件,远程分支上文件的内容手工修改到本地文件,然后再提交冲突文件与远程分支文件一致,这样才可以消除冲突,然后再提交自己修改的部分。特别要注意下,修改本地冲突文件使其与远程仓库的文件保持一致后,需要提交后才能消除冲突,否则无法继续提交。必要时可与同事交流,消除冲突。
(1) 通过git stash命令,把工作区的修改提交到栈区;
目的:是保存工作区的修改; 通过git
(2) pull命令,拉取远程分支上的代码并合并到本地分支;
目的:消除冲突; 通过git stash
(3)pop命令,把保存在栈区的修改部分合并到最新的工作空间中;
2.问题:git fetch和git pull命令之间的区别
git fetch branch是把名为branch的远程分支拉取到本地;
而git pull branch是在fetch的基础上,把branch分支与当前分支进行merge;因此pull = fetch + merge。
3.git的整个原理图
感谢大神提供的图
Workspace:开发者工作区
Index / Stage:暂存区/缓存区
Repository:仓库区(或本地仓库)
Remote:远程仓库

### Spring Boot Cloud 常见面试问题及答案 #### 什么是Spring Cloud? Spring Cloud是一系列框架的有序集合,它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发[^2]。 #### Spring Cloud的主要组件有哪些? 主要组件包括Eureka用于服务注册与发现、Ribbon实现客户端负载均衡、Feign作为声明式的Web Service客户端、Hystrix提供熔断机制防止级联故障、Zuul充当API网关路由请求等。 #### 如何理解Spring Cloud Config? 这是集中化管理配置的服务端和客户端,支持环境变量覆盖配置属性;通过Git仓库存储配置文件并版本控制,方便不同环境中切换配置而无需重新打包部署应用实例。 #### Hystrix的作用是什么? 当某个微服务发生故障时,Hystrix能够阻止这个故障蔓延到其他模块,从而提高整个系统的容错性和稳定性。同时提供了fallback方法,在调用失败的情况下返回默认数据或执行替代逻辑以保障用户体验连续性。 ```java @HystrixCommand(fallbackMethod = "getFallbackUser") public User getUserById(Long id){ // 调用远程接口获取用户信息... } // 定义回退方法 private User getFallbackUser(){ return new User(-1L,"default","unknown"); } ``` #### Zuul的功能特点有哪些? 作为边缘层组件,Zuul可以过滤HTTP请求并对下游服务进行路由转发; 支持动态加载路由规则和服务鉴权认证等功能,保护内部资源安全访问的同时也便于维护团队实施统一的安全策略。 #### Ribbon的工作原理是怎样的? 基于Netflix开源库构建而成,Ribbon实现了软负载均衡算法(如轮询、随机),可以在不依赖硬件设备的前提下完成流量分发任务,降低运维成本提升灵活性。 #### Feign相比传统RestTemplate有何优势? Feign是一个声明式RESTful Web Services客户端,只需定义简单的接口即可发起HTTP请求,极大减少了样板代码编写量,并且内置了对Ribbon的支持自动实现负载均衡效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值