前端面试题之Git

1.简述git第一次使用时,需要进行那些配置?

git全局配置,初始化开发人员信息

    git config --global user.name "开发人员名称"

    git config --global user.email "开发人员邮箱"

2.简述git中如何将一个新增文件添加到本地仓库?

本质上就是将一个新的文件如何添加到本地仓库生成版本记录的过程

git add 文件名称

git commit 文件名称 -m "完善的注释"

3.简述git中如何完成本地仓库和远程仓库的关联?

git提供了remote命令语法完成远程仓库的操作,关联本地仓库和远程仓库

git remote add origin 远程仓库地址

4. 简述如何修改本地仓库中关联的远程仓库url地址?

git中如果要修改本地仓库中关联远程仓库地址,可以直接覆盖也可以删除后重新添加

git remote remove origin     // 删除关联的远程仓库地址

git remote add origin 远程仓库地址  // 添加新的关联地址

git remote -v     // 查看新的地址是否关联成功

5.阐述为什么会出现文件版本冲突?如何解决冲突问题?

什么是文件版本冲突,本质上就是多个开发人员同时提交了未及时更新的相同文件,导致版本库中出现了相同版本的不同文件出现了冲突问题

需要开发人员手工解决冲突,在本地打开所有冲突的文件,进行代码的合理合并(手工合并)再次进行提交:git commit -a -m "提交新的文件",如果再次出现文件冲突错误提示,可以直接标记解决进行强制提交,覆盖仓库中原有的版本

6. 阐述什么是免密登录?免密登录安全吗?免密登录的实现方式?

git中的免密登录,不需要账号和密码就可以访问远程仓库的一种行为

免密登录是通过SSH协议完成的用户身份认证方式

是一种安全的访问方式

免密登录在本地计算机中生成自己的基于OpenSSL的数字签名,得到公钥和私钥,公钥配置到远程仓库中用来生成SSH免密登录通道,私钥在自己的计算机中用于身份认证解析,完成了免密登录访问

7. 简述什么是多分支开发模式?如何创建、切换分支?如何删除不必要的分支?

多分支开发模式,是为了将开发中不同的功能模块进行拆分达到高效开发的目的,如master主分支主要用户发布软件、dev分支主要用于开发软件、feature分支主要用于新功能研发、hotfix分支主要用于bug修复等等

git branch 创建分支的语法

git checkout 切换分支的语法

git branch -d 删除分支的语法

8. 扩展题:git和svn有什么联系和区别?

关于版本管理软件发展历程

① 文件备份

② 第一代版本管理软件:集中式、全量备份、版本迭代

    以CVS软件为代表,这种管理方式已经过时,大部分项目中不再采用

    优点:每次备份都是全量备份,基本不会出现文件丢失的问题

    缺点:每次备份都是全量备份,导致服务器仓库需要大量的空间存储项目数据

③ 第二代版本管理软件:集中式、差异化备份、版本迭代

   以SVN软件为代表,这种管理方式在现有的大部分项目中依然采用

    优点:部署方便,命令简单,操作简洁

    缺点:很久以前只能部署在局域网中(现在可以部署在广域网)、集中式(远程仓库一旦下线,版本管理方式就全部失效)、大量的版本管理问题

④ 第三代版本管理软件:分布式、差异化备份、版本迭代

    以GIT软件为代表,这种管理方式在现有的大部分项目中组中主流的使用方式

    优点:分布式(不依赖某个仓库、可以任意更新和提交)、基于网络(异地办公)

    缺点:操作方式相对们门槛较高

9.简述git fetch命令和git pull命令的区别,它们都在什么情况下使用?

fetch命令和pull命令都是从远程仓库拉取更新的命令

fetch命令直接从远程仓库拉取指定分支的更新到本地对应的分支

pull命令从远程仓库拉取指定的分支更新到本地并合并到当前分支,相当于fetch+merge命令的结合使用

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2024年前端面试题可能会涉及以下几个方面的内容: 1. HTML/CSS基础知识:包括HTML标签的使用、CSS选择器、盒模型、浮动、定位等基本概念和常见问题。 2. JavaScript基础知识:包括数据类型、变量、运算符、流程控制语句、函数、作用域、闭包等基本概念和常见问题。 3. 前端框架和库:例如React、Vue等,可能会涉及到它们的基本原理、生命周期、组件通信等方面的问题。 4. 前端性能优化:包括减少HTTP请求、压缩和合并文件、使用CDN加速、懒加载、缓存等方面的知识。 5. 前端工程化:包括模块化开发、构建工具(如Webpack)、版本控制(如Git)、自动化测试等方面的知识。 6. 前端安全:包括XSS攻击、CSRF攻击、点击劫持等常见安全问题及其防范措施。 7. 前端跨域问题:包括同源策略、跨域请求的方法(如JSONP、CORS等)以及解决跨域问题的方案。 8. 移动端开发:包括响应式设计、移动端适配、触摸事件、移动端性能优化等方面的知识。 9. Web标准和浏览器兼容性:包括HTML5、CSS3的新特性以及不同浏览器之间的差异和兼容性问题。 10. 数据可视化:包括使用图表库(如Echarts、D3.js)进行数据可视化的基本原理和常见问题。 以上只是一些可能涉及到的内容,具体的面试题目还会根据面试官的要求和公司的需求而有所不同。在准备面试时,建议多做一些实际项目练习,加深对前端知识的理解和应用能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值