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

相关文章

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 文件夹所在的目

Git提交代码详细流程及问题总结

《Git提交代码详细流程及问题总结》:本文主要介绍Git的三大分区,分别是工作区、暂存区和版本库,并详细描述了提交、推送、拉取代码和合并分支的流程,文中通过代码介绍的非常详解,需要的朋友可以参考下... 目录1.git 三大分区2.Git提交、推送、拉取代码、合并分支详细流程3.问题总结4.git push

Git中恢复已删除分支的几种方法

《Git中恢复已删除分支的几种方法》:本文主要介绍在Git中恢复已删除分支的几种方法,包括查找提交记录、恢复分支、推送恢复的分支等步骤,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录1. 恢复本地删除的分支场景方法2. 恢复远程删除的分支场景方法3. 恢复未推送的本地删除分支场景方法4. 恢复

Linux Mint Xia 22.1重磅发布: 重要更新一览

《LinuxMintXia22.1重磅发布:重要更新一览》Beta版LinuxMint“Xia”22.1发布,新版本基于Ubuntu24.04,内核版本为Linux6.8,这... linux Mint 22.1「Xia」正式发布啦!这次更新带来了诸多优化和改进,进一步巩固了 Mint 在 Linux 桌面

如何评价Ubuntu 24.04 LTS? Ubuntu 24.04 LTS新功能亮点和重要变化

《如何评价Ubuntu24.04LTS?Ubuntu24.04LTS新功能亮点和重要变化》Ubuntu24.04LTS即将发布,带来一系列提升用户体验的显著功能,本文深入探讨了该版本的亮... Ubuntu 24.04 LTS,代号 Noble NumBAT,正式发布下载!如果你在使用 Ubuntu 23.

bat脚本启动git bash窗口,并执行命令方式

《bat脚本启动gitbash窗口,并执行命令方式》本文介绍了如何在Windows服务器上使用cmd启动jar包时出现乱码的问题,并提供了解决方法——使用GitBash窗口启动并设置编码,通过编写s... 目录一、简介二、使用说明2.1 start.BAT脚本2.2 参数说明2.3 效果总结一、简介某些情

每天认识几个maven依赖(ActiveMQ+activemq-jaxb+activesoap+activespace+adarwin)

八、ActiveMQ 1、是什么? ActiveMQ 是一个开源的消息中间件(Message Broker),由 Apache 软件基金会开发和维护。它实现了 Java 消息服务(Java Message Service, JMS)规范,并支持多种消息传递协议,包括 AMQP、MQTT 和 OpenWire 等。 2、有什么用? 可靠性:ActiveMQ 提供了消息持久性和事务支持,确保消

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分