Git面经

Git八股文

第一章 git基础

1.1 什么是git

git是一款免费的开源的分布式版本控制系统

1.2 为什么要使用git

为了保留之前的所有版本,方便回滚或修改

1.3 集中化版本控制系统和分布式版本控制系统的区别

  • 集中化版本控制系统如svn,客户端连接到中央服务器取出最新的文件或者提交更新。所以有个很明显的缺点就是如果中央服务器发生故障,故障期间谁都无法提交更新
  • 分布式版本控制系统如git,客户端不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来,这样即使中央仓库发生故障,我们可以先提交到本地仓库,等故障恢复后再提交到中央仓库

第二章 git常用命令

2.1 常用命令

  • 初始化为可以管理的仓库
git init.
  • 将工作区文件添加到暂存区(只需要添加修改过的文件)
git add 文件名
  • 将暂存区文件提交到本地仓库
git commit -m "备注"

在此之前,一般还要设置作者邮箱和姓名,例如

git config --global user.email "邮箱名"
git config --global user.name "姓名"
  • 查看工作区状态(用于显示暂存区和本地仓库的状态)
git status
  • 查看当前分区的提交log
git log

2.2 分支命令

  • 查看当前分支
git branch
  • 创建分支(但不会切换到新分支)
git branch 分支名
  • 切换分支(只能切换已有的分支)
git checkout 分支名
  • 创建并切换分支
git checkout -b 分支名
  • 删除分支
git branch -d 分支名
  • 合并分支(当前工作分支的内容会由于merge操作产生更新,但是目标分支(要合并的分支名)则完全不受影响),merge操作可能会出现冲突
git merge 要合并的分支名
git rebase 要合并的分支名

2.3 远程仓库命令

  • 远程仓库克隆到本地(在没有本地仓库的时候,从远程仓库克隆到本地,是一个从无到有的过程)
git clone 地址
  • 下拉代码(在本地有本地仓库的时候,从远程仓库获得最新的commit数据,并merge到工作区,一般在push前会pull)
// 远程仓库名称默认为origin,分支名称默认为与当前本地分支同名。
git pull [remote name] [branch name]
// 等价于
git fetch + git merge
  • 推送代码(将本地仓库中的文件推送到远程仓库)
git push [remote name] [branch name]

2.4 关系图

在这里插入图片描述

第三章 其他面试题

3.1 git pull和git fetch的区别

  • git fetch只是将远程仓库的最新版本下载到本地仓库,但是不会自动merge,工作区的文件没有更新
  • git pull会从远程仓库获取到的最新版本并merge到工作区
  • git pull = git fetch + git merge

3.2 git clone和git pull的区别

  • git clone用在没有本地仓库的时候,从远程仓库克隆到本地,是一个从无到有的过程
  • git pull可以只更新某一分支,用在有本地仓库的时候,从远程仓库获得分支最新的commit数据,并merge到工作区,一般在push前会pull。

3.3 git merge和git rebase的区别

参考:https://blog.csdn.net/qq_41035588/article/details/121354279

  • git merge 操作合并分支会让两个分支的共同提交点之后每一次提交都按照提交时间排序,并且会将两个分支的最新一次commit点合并成一个新的commit,最终的分支树呈现非整条直线的形式
  • git rebase操作实际上是将当前执行rebase分支的所有基于原分支提交点之后的commit打散成一个一个的patch,并重新生成一个新的commit hash值,再次基于原分支目前最新的commit点上进行提交,最终的分支树呈现一条直线的形式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/155656.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言——用递归函数计算n!

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言​📝 比别人多一点努力,你…

国产化区块链平台-FISCO BCOS 区块链

目录 FISCO BCOS 版本信息 系统概述 关键特性 组件服务 开发运维工具 FISCO BCOS作为一种企业级区块链平台,为企业和组织提供了高性能、隐私保护和可定制的区块链解决方案。其强大的架构和丰富的功能使得企业能够在安全可信的环境中开展区块链应用&#xff0…

基数排序详解(LSD方法+MSD方法+思路+图解+代码)

文章目录 基数排序一、基数排序概念1.LSD排序法(最低位优先法)2.MSD排序法(最高位优先法) 基数排序 一、基数排序 概念 基数排序是一种非比较型整数排序算法 将整数按位数切割成不同的数字,然后按每个位数分别比较 …

小程序开发平台源码系统 各行各业都可使用 功能强大 附带完整的搭建教程

当前,数字化转型已经成为各行各业的重要趋势,而小程序作为数字化转型的重要工具之一,具有广泛的应用前景。因此,我们开发了这个源码系统,以帮助各行各业快速开发出符合需求的小程序。 以下是部分代码示例:…

设计模式—结构型模式之享元模式

设计模式—结构型模式之享元模式 享元模式(Flyweight Pattern),运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。对象结构型。 在享元模式中可以共…

机器学习实战 ——《跟着迪哥学Python数据分析与机器学习实战》(2)

机器学习实战 ——《跟着迪哥学Python数据分析与机器学习实战》(2) 七、贝叶斯算法7.1 新闻分类任务实战7.1.1 结巴分词7.1.2 词云表示工具包wordcloud7.1.3 TF-IDF特征 八、聚类算法K-means K-均值聚类算法评估指标优缺点 DBSCAN(Density-Ba…

ChatGPT/GPT4科研实践应用与AI绘图技术及论文高效写作

2023年随着OpenAI开发者大会的召开,最重磅更新当属GPTs,多模态API,未来自定义专属的GPT。微软创始人比尔盖茨称ChatGPT的出现有着重大历史意义,不亚于互联网和个人电脑的问世。360创始人周鸿祎认为未来各行各业如果不能搭上这班车…

VS搭建QT环境失败1

在VS中做一个简单QT控制台程序; 包含目录已经添加如下图;可以找到QCoreApplication头文件;可以找到QCoreApplication类,把鼠标放上去会有提示;但是由QCoreApplication类生成对象会出错;app这个变量提示出错; 同时显示200多个错误;这是VS2015; 看一下我的QT安装有没有缺…

【PostgreSQL】解决PostgreSQL时区(TimeZone)问题

问题描述 最近在使用PostgreSQL中,对行记录进行设置创建时间(created_time)时,出现了设置了now()时间而数据库中写入的数据是不一致的数据。 eg: insert into dept ( created_at, updated_at) VALUES (now(),now())…

算法分析与设计课后练习22

设W(5,7,10,12,15,18,20)和M35,使用过程SUMOFSUB找出W种使得和数等于M的全部子集并画出所生成的部分状态空间树

国产压力测试工具的主要作用

国产压力测试工具可以帮助软件开发和维护团队对系统进行全面的性能测试,以评估系统在高负载下的性能表现。以下是国产压力测试工具的主要作用: 性能评估:国产压力测试工具可以模拟多用户同时对系统进行访问和操作,通过对系统的响应…

Vite - 静态资源处理 - json文件导入

直接就说明白了 vite 中对json 文件直接当作一个模块来解析。 可以直接导入使用! 可以直接导入使用! 可以直接导入使用!json文件中的key,直接被作为一个属性,可以单独被导入。 因此,导入json文件有两种方式…

金山云2023年Q3财报:持续向好!

11月21日,金山云公布了2023年第三季度业绩。 财报显示,金山云Q3营收16.3亿元,调整后毛利率达12.1%再创历史新高,调整后毛利额同比上涨57.5%。今年第三季度,公有云实现收入10.2亿元,毛利率达到4.7%&#xf…

OpenAI GPT-4 Turbo发布:开创AI新时代

🎥 屿小夏 : 个人主页 🔥个人专栏 : IT杂谈 🌄 莫道桑榆晚,为霞尚满天! 文章目录 📑前言一. GPT-4 Turbo的突破1.1上下文长度和控制手段的加强:1.2多模态支持&#xff1a…

Linux 网络:PMTUD 简介

文章目录 1. 前言2. Path MTU Discovery(PMTUD) 协议2.1 PMTUD 发现最小 MTU 的过程 3. Linux 的 PMTUD 简析3.1 创建 socket 时初始化 PMTUD 模式3.2 数据发送时 PMTUD 相关处理3.2.1 源头主机发送过程中 PMTUD 处理3.2.2 转发过程中 PMTUD 处理 4. PMTUD 观察5. 参考链接 1. …

使用Python实现几种底层技术的数据结构

使用Python实现几种底层技术的数据结构 数据结构(data structure)是带有结构特性的数据元素的集合,它研究的是数据的逻辑结构和数据的物理结构以及它们之间的相互关系,并对这种结构定义相适应的运算,设计出相应的算法,并确保经过这…

千字文||无聊又数了一下千字文字数

千字文的字数去除标点符号真的整整一千个不多的不少 该文章无技术含量,仅三字经原文,学技术的同学可以止步了 千字文(原文) 【作者】周兴嗣 【朝代】南北朝 天地玄黄,宇宙洪荒。 日月盈昃,辰宿列张。 寒来…

Python 进程和线程详解(multiprocessing、threading)

文章目录 1 概述1.1 进程 VS 线程1.2 优缺点 2 进程2.1 三个步骤2.2 多进程2.3 带参数2.3.1 元组参数 args2.3.2 字典参数 kwargs 2.4 获取进程编号2.5 设置进程守护 3 线程3.1 三个步骤3.2 多线程3.3 带参数2.3.1 元组参数 args2.3.2 字典参数 kwargs 2.4 获取线程编号2.5 设置…

UE4基础篇十七:分析性能

一、性能瓶颈定位 原文地址:小能猫吃牙膏:UE4 性能 - (一)瓶颈定位 P.S. 对于某个具体问题,我个人偏向于遵循 WHY → WHAT → HOW 的思考方法(重要性逐级递减) 加以理解。因为如果找不到做某件事情的意义(WHY)所在,或是对这件事情本身的定义(WHAT)都模棱两可,那么即便经…

【经验之谈·高频PCB电路设计常见的66个问题】

文章目录 1、如何选择PCB 板材?2、如何避免高频干扰?3、在高速设计中,如何解决信号的完整性问题?4、差分布线方式是如何实现的?5、对于只有一个输出端的时钟信号线,如何实现差分布线?6、接收端差…