Git面试题汇总

1、Git是什么?

Git是目前世界上最先进的分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有事务
特性:易于学习,占用内存小,具有闪电般快速的性能
使用Git和Gitlab搭建版本控制环境是现在互联网公司最流行的版本控制方式

2、简述git第一次使用时,需要进行哪些配置?

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

git config --global user.name   '开发人员名称'
git config --global user.email    '开发人员邮箱'

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

git add 文件名称/*      //将当前文件或当前文件夹下未添加到栈存区的文件添加栈存区
git commit 文件名称/* -m '完善的注释'
//将栈存区当前文件或当前文件夹下的全部文件添加到版本本地仓库
git log     //查看文件版本号

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

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

git remote add origin 远程仓库地址

5、简述如何修改本地仓库中关联的远程仓库的URL地址

git 中如果要修改本地仓库中关联的远程仓库的地址,可以直接使用remove命令删除后再重新添加或者直接添加新的远程仓库地址,覆盖掉旧的远程仓库地址

git remote remove origin              //删除关联的远程仓库地址
git remote add origin 远程仓库地址    //添加新的远程仓库地址
git remote –v                       //查看新的远程仓库地址是否关联成功

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

文件版本冲突:本质上就是多个开发人员同时提交了未及时更新的相同文件,导致版本库中出现了相同版本的不同文件,出现了冲突问题
解决冲突问题:
1、需要开发人员手工解决冲突,在本地打开所有冲突的文件,进行代码的合理合并(手工合并)
2、再次进行提价:git commit -a -m ‘提交新的文件’,如果再次出现冲突的错误提示,可以从直接标记解决进行强制提交,覆盖仓库中原有的版本

7、说说对git pull 和 git fetch 的理解?有什么区别?

git fetch是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中
而git pull 则是将远程主机的最新内容拉下来后直接合并,即:git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决
在作用上他们的功能是大致相同的,都是起到了更新代码的作用,相比起来,git fetch 更安全也更符合实际要求,在 merge 前,我们可以查看更新情况,根据实际情况决定是否合并

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

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

git branch  <b_name>         //创建分支语法
git checkout <b_name>         //切换分支语法
git branch -d <b_name>         //删除分支的语法

9、面试官:说说你对git reset 和 git revert 的理解?区别?

在开发过程中,向 git 提交了一个记录,但后面觉得似乎提交的这个记录有些缺陷,我不想要它了,想要重置。重置git中存在两个命令,reset 和 revert

  • revert 只会回滚你希望回滚的哪一个commit的操作,不会影响其他的
  • reset 由于指针回退了,因此这个commit 之后的commit都会消失。

所以我们一般的使用时,如果已经push了,使用revert,如果没有,就是用reset

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值