前端面试题2021(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临时存储当前冲突文件内容,保障项目版本正确性的前提下解决冲突,最终完成冲突的处理

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,809评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,189评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,290评论 0 359
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,399评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,425评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,116评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,710评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,629评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,155评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,261评论 3 339
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,399评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,068评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,758评论 3 332
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,252评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,381评论 1 271
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,747评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,402评论 2 358

推荐阅读更多精彩内容