当前位置: 首页 > article >正文

Java面试八股--06-Linux篇

目录

一、Git

1、工作中git开发使用流程(命令版本描述)

2.Reset与Rebase,Pull与Fetch的区别

3、git merge和git rebase的区别

4、git如何解决代码冲突

5、项目开发时git分支情况

二、Linux

1、Linux常用的命令

2、如何查看测试项目的日志

3、如何查看最近1000行日志

4、Linux中如何查看某个端口是否被占用


这里再增加一个Git的操作吧!

一、Git

1、工作中git开发使用流程(命令版本描述)

开发一个新功能流程:(master线上分支,dev测试分支)

git clone 注释1

git checkout -b product 新建一个product 分支并且切换到product分支

git add ./ 提交开发需求到暂存区域

git push origin pengyu

git co test  //切换到test分支

git merge pengyu  //带你开发的业务代码合并到test分支

git push origin test  //带你开发的业务代码推送到远端的test分支


2.Reset与Rebase,Pull与Fetch的区别

git reset 不修改commit相关的东西,只会去修改.git目录下的东西。

git rebase 会试图修改你已经commit的东西,比如覆盖commit的历史等,但是不能使用rebase来修改意见push过的内容,容易出现兼容性的问题。rebase还可以解决内容的冲突,解决两个修改了同一份内容,然后失败的问题。

git pull pull = fetch+merge,

使用git fetch是拉回远端更新,不会对本地执行merge操作,不会驱动你本地的内容。pull会更新你本地代码到服务器上对应的最新分支。


3、git merge和git rebase的区别

git merge把本地代码和已经取得远程仓库代码合并

git rebase是复位基底的意思,gitmerge会生成一个新的节点,之前的提交会分开显示,而rebase操作不会生成新的操作,将两个分支融合成一个线性的提交。


4、git如何解决代码冲突

第一种:

git stash

git pull

git stash pop

这个操作就是把自己修改的代码隐藏,然后把远程仓库的代码拉下来,然后把自己隐藏的修改的代码释放出来,让gie自动合并。

如果要代码库的文件完全覆盖本地版本。

git reset -hard

git pull

第二种:通过开发工具idea进行merge代码合并


5、项目开发时git分支情况

主干分支master:主要负责管理正在运行的生产环境代码。永远保持与正在运行的生产环境完全一致。

开发分支develop:主要负责管理正在开发过程中的代码。一般情况下应该是最新的代码。

bug修理分支hotfix:要负责管理生产环境下出现的紧急修复的代码。从猪肝分支分出,修改完毕并测试上线后,并回主干分支。并回后,视情况可以删除该分支。

发布版本分支release:较大的版本上线前,会从开发分支分出发布版本分支,进行最后阶段的集成测试。该版本上线后,会合并到主干分支。生产环境运行一段阶段较稳定后可以视情况删除。

功能分支feature:为了不影响较短周期的开发工作,一般把中长期开发模块,会从开发分支中独立出来。开发完成过后会合并到开发分支。


二、Linux

1、Linux常用的命令

2、如何查看测试项目的日志

一般测试的项目里面,有个logs的目录文件,会存放在日志文件,有个xxx.out的文件,可以用tail -f动态实时查看后端的日志。

先cd到logs目录(里面有xx.out文件)

>tail -f xx.out

这时屏幕上会动态实时显示当前的日志,ctr+c停止

3、如何查看最近1000行日志

>tail -1000 xx.out

4、Linux中如何查看某个端口是否被占用

>netstat -anp | grep 端口号

图中主要看监控状态为LISTEN表示已经被占用,最后一列显示被服务mysqld占用,查看具体端口号,只要有如图这一行就表示被占用了

http://www.lryc.cn/news/2398625.html

相关文章:

  • Ajax技术分析方法全解:从基础到企业级实践(2025最新版)
  • Unity 性能优化终极指南 — GameObject 篇
  • dvwa7——SQL Injection
  • Spring AI 项目实战(四):Spring AI + DeepSeek 超参数优化——智能化机器学习平台(附完整源码)
  • Axure疑难杂症:中继器图片替换功能优化(支持修改已有记录-玩转中继器)
  • sqlite3 命令行工具详细介绍
  • ubuntu 22.04 编译安装nignx 报错 openssl 问题
  • 线程相关面试题
  • pikachu通关教程-目录遍历漏洞(../../)
  • Maven-生命周期
  • Hadoop复习(九)
  • Matlab实现LSTM-SVM回归预测,作者:机器学习之心
  • Spring Boot 自动配置原理:从入门到精通
  • 实践深度学习:构建一个简单的图像分类器
  • 腾讯 ovCompose 开源,Kuikly 鸿蒙和 Compose DSL 开源,腾讯的“双”鸿蒙方案发布
  • PYTHON调用讯飞C/C++动态库实现离线语音合成并且实时播放
  • 黑马Java面试笔记之 消息中间件篇(RabbitMQ)
  • Vue中安装插件的方式
  • 如何提高工作效率
  • Redisson学习专栏(五):源码阅读及Redisson的Netty通信层设计
  • Spring AI 项目实战(一):Spring AI 核心模块入门
  • 字节跳动开源图标库:2000+图标一键换肤的魔法
  • 结合 AI 生成 mermaid、plantuml 等图表
  • 行列式详解:从定义到应用
  • R语言使用随机过采样(Random Oversampling)平衡数据集
  • HertzBeat的安装和使用教程
  • 【Kotlin】高阶函数Lambda内联函数
  • 从0开始学vue:vue3和vue2的关系
  • MySQL关系型数据库学习
  • 嵌入式硬件篇---龙芯2k1000串口