前端面试题(18)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 <b_name> //创建分支
git checkout <b_name> //切换分支
git branch -d <b_name> //删除分支

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

fetch命令和pull命令都是从远程仓库拉取更新的命令
fetch命令直接从远程仓库拉取指定分支的更新到本地对应的分支
pull命令从远程仓库拉取指定的分支更新到本地并合并到当前分支,相当于fetch + merge命令

9.简述git中常用的操作命令

git config --global user.name ‘’
git config --global user.email ‘’
git init
git status
git add
git commit
git push
git pull
git fetch
git log
git reset
git branch
git remote

10.简述git和svn的区别,如何在项目中使用什么版本工具呢

git是第三代版本管理工具,核心是以分布式的方式、差异化的备份进行文件数据的版本迭代管理,在项目中更加适合基于广域网的多人协同开发
svn是第二代版本管理工具、核心是以是以集中式的方式、差异化的备份进行文件数据的版本迭代管理,在项目中更加适合基于局域网的多人协同开发
发展到现在git和svn相比较,git和svn同样可以用于局域网或者广域网的项目开发,但是git在广域网的版本管理上更加优秀,同时以分布式的特点支持离线的版本更新,所以在新项目的版本管理工具的选择中更加倾向于git
在一些传统语言的项目中或者只能进行本地开发不能将代码环境接入到广域网的环境下的情况下,一般会选择使用更加简单的svn版本管理工具

11.你在开发过程中遇到了git文件冲突的问题,但是产品经理又提交了非常紧急的开发任务,此时你如何处理文件冲突和紧急开发任务的问题

如果冲突的文件代码量不是很多,解决事件不影响紧急开发任务,可以先解决冲突然后再开发紧急任务
如果冲突的问题临时无法确定,需要通过git stash命令缓存冲突文件,再git reset回退到上一个正确版本保障项目正确性,git chekout 切换到开发分支开发紧急任务,紧急任务开发完成后,在上一个出现冲突的分支上通过git stash pop 命令还原缓存的冲突文件,解决冲突并再次提交
本质上就是先保证项目的正确性的前提下开发紧急任务

12.简述git常见的操作命令和含义,描述一个你在操作git时让自己印象较为深刻的问题

git config 操作git管理中的配置信息
git init 初始化git本地仓库
git add 添加新文件到暂存区
git commit 提交暂存区文件到本地仓库
git remote 配置远程仓库
git push 将本地仓库文件推送到远程仓库
git pull 将远程仓库文件拉取到本地并合并到当前分支
git fetch 拉取远程仓库中指定分支文件
git branch 查看/添加分支
git checkout 切换分支
git merge 合并分支
git tag 添加/查看/编辑标签
git stash 暂存文件
git log / git reflog 查看提交历史记录
git reset 版本回退
文件冲突问题的解决
版本回退了,但是解决完项目中的问题之后,回退不回去了,但是本人开发过程中有自己的操作的习惯,将回退之前的版本信息都做了记录,解决过程中找出了当时回退之前的历史记录并进行了版本更新

13.git rebase的作用是什么,什么时候需要执行该命令

git rebase是一个非常常用的操作命令,很多时候能简化和避免一些BUG的产生
作用主要有两方面,第一方面作为开发人员本地仓库的版本树/版本记录非常繁琐和复杂的,可以通过rebase命令本地多次提交记录进行合并,然后推送到远程仓库,让远程仓库的版本树/版本记录比较干净和整洁,第二方面在多分支开发模式下,如bug修复分支中出现了三个非常重要的版本修复记录,合并到dev开发分支时期望保留这三个修复记录的版本,此时可以通过rebase命令将多个提交版本从一个分支直接合并到另一个分支

14.git stash 命令的作用是什么,什么时候需要执行该命令

git stash 命令主要用于版本提交历史中进行文件缓存使用的,用于临时存储暂存区文件
第一种情况下,当开发的项目代码还没有达到提交要求时,需要临时开发其他任务,此时可以将未开发完成的代码进行stash存储,等待临时任务结束后继续开发
第二种情况下,当出现了文件版本冲突的时候,可以通过stash临时存储当前冲突文件内容,保障项目版本正确性的前提下解决冲突,最终完成冲突的处理

上一篇ES6
下一篇(nodejs)整理中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值