Git的几个重要面试考察点,慎入!!

2023-10-23 10:20

本文主要是介绍Git的几个重要面试考察点,慎入!!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Git的几个重要面试考察点,慎入!!

文章目录

  • Git的几个重要面试考察点,慎入!!
    • 1、远程操作命令的区别
        • 1.1 git clone <版本库地址> <本地目录地址>
        • 1.2 git pull <远程主机名> <远程分支名> : <本地分支名>
        • 1.3 git fetch <远程主机名><远程分支名>和git merge <被合并分支名> //表示合并至当前分支
        • 1.4 git push <远程主机名> <本地分支名> : <远程分支名>
    • 2.git merge和git rebase的重要区别
    • 3.git库所在的文件夹中的文件大致有4种状态

1、远程操作命令的区别

  • git clone
  • git remote
  • git fetch
  • git pull
  • git push

在这里插入图片描述


1.1 git clone <版本库地址> <本地目录地址>
  • 本地没有项目时,直接使用clone
1.2 git pull <远程主机名> <远程分支名> : <本地分支名>
  • 表示取回远程库的分支,再同时与本地分支合并,保持同步
1.3 git fetch <远程主机名><远程分支名>和git merge <被合并分支名> //表示合并至当前分支
  • git fetch 表示将远程分支拉取至本地,并在本地生成一个远程分支origin/master
  • 其次,可以使用git checkout -b NewBrach origin/master 在他的基础之上创建一个新的分支
1.4 git push <远程主机名> <本地分支名> : <远程分支名>
  • 将本地分支与远程分支进行同步

参考文章:http://www.ruanyifeng.com/blog/2014/06/git_remote.html

2.git merge和git rebase的重要区别

最大的区别是:merge只能用于对两个不同分支进行合并,要求两个版本必须保持最新版,无法在回退低版本进行改动时保证后续分支同步更新,而使用rebase就能做到,它通过将旧版本的提交历史以补丁的方式依次将后续分支打上,从而实现更新!

强烈建议参考这篇博文,非常通俗易懂:https://blog.csdn.net/hustpzb/article/details/8686435

3.git库所在的文件夹中的文件大致有4种状态

Untracked:
未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.
Unmodify:
文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改,
而变为Modified. 如果使用git ``rm``移出版本库, 则成为Untracked文件
Modified:
文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态,
使用git checkout 则丢弃修改过, 返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改
Staged:
暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态.
执行git reset HEAD filename取消暂存, 文件状态为Modified
Git 状态 untracked 和 not staged的区别
1)untrack     表示是新文件,没有被add过,是为跟踪的意思。
2)not staged  表示add过的文件,即跟踪文件,再次修改没有add,就是没有暂存的意思

这篇关于Git的几个重要面试考察点,慎入!!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/267236

相关文章

Olingo分析和实践之ODataImpl详细分析(重要方法详解)

《Olingo分析和实践之ODataImpl详细分析(重要方法详解)》ODataImpl.java是ApacheOlingoOData框架的核心工厂类,负责创建序列化器、反序列化器和处理器等组件,... 目录概述主要职责类结构与继承关系核心功能分析1. 序列化器管理2. 反序列化器管理3. 处理器管理重要方

IDEA中新建/切换Git分支的实现步骤

《IDEA中新建/切换Git分支的实现步骤》本文主要介绍了IDEA中新建/切换Git分支的实现步骤,通过菜单创建新分支并选择是否切换,创建后在Git详情或右键Checkout中切换分支,感兴趣的可以了... 前提:项目已被Git托管1、点击上方栏Git->NewBrancjsh...2、输入新的分支的

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤

git stash命令基本用法详解

《gitstash命令基本用法详解》gitstash是Git中一个非常有用的命令,它可以临时保存当前工作区的修改,让你可以切换到其他分支或者处理其他任务,而不需要提交这些还未完成的修改,这篇文章主要... 目录一、基本用法1. 保存当前修改(包括暂存区和工作区的内容)2. 查看保存了哪些 stash3. 恢

IDEA实现回退提交的git代码(四种常见场景)

《IDEA实现回退提交的git代码(四种常见场景)》:本文主要介绍IDEA实现回退提交的git代码(四种常见场景),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.已提交commit,还未push到远端(Undo Commit)2.已提交commit并push到

Git可视化管理工具(SourceTree)使用操作大全经典

《Git可视化管理工具(SourceTree)使用操作大全经典》本文详细介绍了SourceTree作为Git可视化管理工具的常用操作,包括连接远程仓库、添加SSH密钥、克隆仓库、设置默认项目目录、代码... 目录前言:连接Gitee or github,获取代码:在SourceTree中添加SSH密钥:Cl

数据库面试必备之MySQL中的乐观锁与悲观锁

《数据库面试必备之MySQL中的乐观锁与悲观锁》:本文主要介绍数据库面试必备之MySQL中乐观锁与悲观锁的相关资料,乐观锁适用于读多写少的场景,通过版本号检查避免冲突,而悲观锁适用于写多读少且对数... 目录一、引言二、乐观锁(一)原理(二)应用场景(三)示例代码三、悲观锁(一)原理(二)应用场景(三)示例

IDEA中Git版本回退的两种实现方案

《IDEA中Git版本回退的两种实现方案》作为开发者,代码版本回退是日常高频操作,IntelliJIDEA集成了强大的Git工具链,但面对reset和revert两种核心回退方案,许多开发者仍存在选择... 目录一、版本回退前置知识二、Reset方案:整体改写历史1、IDEA图形化操作(推荐)1.1、查看提

SpringBoot整合jasypt实现重要数据加密

《SpringBoot整合jasypt实现重要数据加密》Jasypt是一个专注于简化Java加密操作的开源工具,:本文主要介绍详细介绍了如何使用jasypt实现重要数据加密,感兴趣的小伙伴可... 目录jasypt简介 jasypt的优点SpringBoot使用jasypt创建mapper接口配置文件加密

Git如何修改已提交人的用户名和邮箱

《Git如何修改已提交人的用户名和邮箱》文章介绍了如何修改Git已提交人的用户名和邮箱,包括注意事项和具体步骤,确保操作正确无误... 目录git修改已提交人的用户名和邮箱前言第一步第二步总结git修改已提交人的用户名和邮箱前言需注意以下两点内容:需要在顶层目录下(php就是 .git 文件夹所在的目