不吃饭也要搞懂的 git 命令

2024-06-13 15:36
文章标签 命令 git 搞懂 吃饭

本文主要是介绍不吃饭也要搞懂的 git 命令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

昨天睿哥布置了一个任务给我,让我学习一下 Git 的一些命令。

我问睿哥,到底我们在实际开发中用哪些命令会比较多,睿哥是这样回答我的:

而且他推荐我用 IDEA 自带的那个 Git 面板来执行 git 命令,他说直接敲命令太麻烦了,还慢。在这之前,我一直以为 git 只可以用命令来操作,就是要用键盘敲,我才知道原本 IDEA 也有 Git 面板,在 IDEA 直接用 Git 面板,点来点去就可以了。

所以昨天的时候,我就去着重的学习了一下这些命令在 IDEA 中如何操作。结果我发现,操作是学会了,但是我并不知道这些命令到底是用来干嘛的,为什么要有这些命令。我当时就处于一个知其然而不知其所以然的状态。因此,今天我专门研究了一下这些命令的意思以及为什么要有这些命令。

关于 Git 的常用概念

版本库(Repository)

版本库是存储代码修改历史的地方,在这里面记录了每个文件的每次修改。我们在修改完代码之后,用提交命令,就会提交到这个地方。然后提交到这个地方之后,再用推送命令,就会将代码提交到远程仓库。

远程仓库(Remote Repository)

开发人员可以从远程仓库下载代码,将本地修改的代码通过提交命令+推送命令,可以将代码推送给到远程仓库上。

提交(commit)

我们每次对代码进行修改之后,都需要提交,把代码提交到版本库中。这里我印象比较深的就是提交之后,IDEA 会让你填写一下提交信息,描述一下你提交的那个代码修改了什么。

分支(branch)

讲分支之前,我们需要知道为什么要分支?通过创建分支,我们就可以在不影响主线开发的情况下,进行独立的工作。每个分支都是一个独立的代码版本,我们一般在分支上进行修改,然后提交。不同分支可以切换,分支也可以删除。

合并(merge)

为什么需要合并呢?因为每个人用不同的分支开发完成之后,都需要将这些分支合并到主线上。合并其实就是将不同代码版本合并成一个版本。不过我问了睿哥,他跟我说这个我用的应该不算多,他自己用的会多一点,毕竟我不是组长哈哈哈。

签出(checkout)

对某个分支选择签出之后,就会切换到这个分支。

容易混淆的两个概念之变基与合并

这个我还不是很懂,等到时弄懂了再写

容易混淆的概念之拉取和提取

拉取(Pull)其实包含两个慢动作,一是先从远程仓库获取最新的提交记录(提取Fetch),二是将这些提交记录应用在本地分支上(合并Merge)。

为什么需要拉取呢?拉取其实是为了和远程分支保持同步。

而提取其实只是拉取的其中一个步骤,这个命令只会从远程仓库中获取最新的提交记录,不会将最新的提交记录合并应用到本地分支上。这样我们就可以先查看提交记录,看看这些新的提交记录对我们有没有用,然后再决定要不要合并。

有一个公式:拉取(Pull)=提取(Fetch)+提取(Merge)

这篇关于不吃饭也要搞懂的 git 命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

一文带你搞懂Python中__init__.py到底是什么

《一文带你搞懂Python中__init__.py到底是什么》朋友们,今天我们来聊聊Python里一个低调却至关重要的文件——__init__.py,有些人可能听说过它是“包的标志”,也有人觉得它“没... 目录先搞懂 python 模块(module)Python 包(package)是啥?那么 __in

Linux命令之firewalld的用法

《Linux命令之firewalld的用法》:本文主要介绍Linux命令之firewalld的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux命令之firewalld1、程序包2、启动firewalld3、配置文件4、firewalld规则定义的九大

Linux之计划任务和调度命令at/cron详解

《Linux之计划任务和调度命令at/cron详解》:本文主要介绍Linux之计划任务和调度命令at/cron的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux计划任务和调度命令at/cron一、计划任务二、命令{at}介绍三、命令语法及功能 :at

Linux ls命令操作详解

《Linuxls命令操作详解》通过ls命令,我们可以查看指定目录下的文件和子目录,并结合不同的选项获取详细的文件信息,如权限、大小、修改时间等,:本文主要介绍Linuxls命令详解,需要的朋友可... 目录1. 命令简介2. 命令的基本语法和用法2.1 语法格式2.2 使用示例2.2.1 列出当前目录下的文

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

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

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

Linux find 命令完全指南及核心用法

《Linuxfind命令完全指南及核心用法》find是Linux系统最强大的文件搜索工具,支持嵌套遍历、条件筛选、执行动作,下面给大家介绍Linuxfind命令完全指南,感兴趣的朋友一起看看吧... 目录一、基础搜索模式1. 按文件名搜索(精确/模糊匹配)2. 排除指定目录/文件二、根据文件类型筛选三、时间

使用mvn deploy命令上传jar包的实现

《使用mvndeploy命令上传jar包的实现》本文介绍了使用mvndeploy:deploy-file命令将本地仓库中的JAR包重新发布到Maven私服,文中通过示例代码介绍的非常详细,对大家的学... 目录一、背景二、环境三、配置nexus上传账号四、执行deploy命令上传包1. 首先需要把本地仓中要

Windows命令之tasklist命令用法详解(Windows查看进程)

《Windows命令之tasklist命令用法详解(Windows查看进程)》tasklist命令显示本地计算机或远程计算机上当前正在运行的进程列表,命令结合筛选器一起使用,可以按照我们的需求进行过滤... 目录命令帮助1、基本使用2、执行原理2.1、tasklist命令无法使用3、筛选器3.1、根据PID

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

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