当前位置: 首页 > article >正文

拓展Git相关知识(⭐版控工具⭐)

目录

引入

一、Git的基本概念

版本控制的定义

Git四大核心组成详析

1.工作区:用户当前操作的目录,即电脑里能看到的目录。

2.暂存区:用于临时存放改动过的文件,准备提交到版本库。在Git中,暂存区有时也称为索引(index)

3.本地仓库:存储所有版本信息的目录,通常位于工作区的一个隐藏目录(.git)中

小引入

4.远程仓库

二、Git的常用命令

引入:Git一些高级命令(参考)


引入

有了对版块控制的基础了解(参见-版块控制---git-CSDN博客),下面详细拓展Git的相关知识。

首先,Git是目前世界上最先进的分布式文件版本控制系统,虽然仍旧存在部分安全隐患,但是作为一个开源系统,目前依旧处在更迭和使用中。

一、Git的基本概念

版本控制的定义

版本控制是指将一组文件的改动记录下来,形成版本历史,以便需要时恢复。Git能够追踪代码的改动历史,并允许用户在不同版本之间切换合并比较

Git四大核心组成详析

【关系流程图】

1.工作区:用户当前操作的目录,即电脑里能看到的目录。

定义:工作区是用户在电脑文件系统中能看到的项目目录,包含了项目的实际文件。这些文件是用户日常进行开发和修改的地方。

功能:在工作区中,用户可以对项目文件进行添加、修改、删除等操作。这些操作在Git跟踪之前,只存在于用户的本地文件系统中

与Git的关系:当用户在工作区中对文件进行修改后,需要将这些修改添加到Git的暂存区,以便在下一次提交时包含这些修改。

2.暂存区:用于临时存放改动过的文件,准备提交到版本库。在Git中,暂存区有时也称为索引(index)

【如下,工作区提交的文件,就会出现在红圈圈区域(暂存区)】

定义:暂存区是一个中间区域,位于Git仓库内部,用于暂存工作区中的改动。这些改动在提交到本地仓库之前,会先被添加到暂存区。

功能:暂存区相当于一个缓冲区,允许你选择性地添加修改到提交中。你可以根据需要,将工作区中的部分或全部修改添加到暂存区git add .】,以便在下一次提交时包含这些修改。

操作:使用git add <文件名>】命令可以将指定文件从工作区添加到暂存区。使用【git ls-files】命令可以查看暂存区中的文件。

3.本地仓库:存储所有版本信息的目录,通常位于工作区的一个隐藏目录(.git)中

【通过【git init】指令来实现将一个本地文件夹变成本地仓库;执行成功后,该文件夹就会生成出来一个隐藏目录(如果不显示可以去点击文件夹显示去调出来)】

【注:这个版本库不能随便挪动,否则就会使当前文件夹作废】

定义:本地仓库是存储在自己计算机本地的版本库,包含了完整的项目历史数据。

功能:本地仓库是Git的核心部分,它保存了项目的完整历史记录。每个提交都代表一个特定时间点上的项目状态。

操作:使用git commit -m"update"】命令可以将暂存区中的内容创建为一个新的提交,并将其添加到本地仓库中。这样,就得到了一个包含所有更改的新版本(即更新了本地仓库)。

小引入
  1. 使用git commit‌:

    • 修改文件后,使用git add命令将文件添加到暂存区。
    • 然后使用git commit命令提交暂存区的更改。
    • 示例:git add . 和 git commit -m 'update'‌。
  2. 使用git commit -m‌:

    • 直接使用git commit -am 'update'命令提交所有已跟踪的文件,无需先执行git add
    • 示例:git commit -am 'update'
4.远程仓库

定义:远程仓库是位于网络上的Git仓库(类似服务器),通常托管在像Gitee、GitHub、GitLab或Bitbucket等服务提供商上。

功能:远程仓库用于协作开发、共享代码和版本管理。多个开发者可以共享同一个远程仓库,每个人可以将自己的改动推送到远程仓库,从而实现协同开发。同时,远程仓库也提供了项目的备份和存档。

操作:使用【git clone 仓库SSH路径】命令可以将远程仓库的代码克隆到本地。使用【git push】命令可以将本地的代码推送到远程仓库。使用【git pull】命令可以从远程仓库中拉取最新的代码到本地。

二、Git的常用命令

初始化工作区git init】用于初始化一个新的Git仓库。

查看状态:【git status】用于查看当前工作区的状态,包括哪些文件已被修改、哪些文件还未提交等。

提交改动

【git add 文件名】:将指定文件添加到暂存区。

【git commit -m '提交信息'】:将暂存区的改动提交到版本库,并附上提交信息。

查看日志git log用于查看当前提交日志,包括每次提交的commit id、提交者、提交时间和提交信息等。

版本回退

【git reflog】:查看所有操作记录,包括每次提交的commit id和回退操作等。

【git reset --hard <版本号>】:将当前版本回退到指定版本。

注:Git本身就是为版块控制而生,所以可以进行这些退回操作。

撤销修改

【git checkout -- <文件名称>】:撤销工作区的修改,恢复为暂存区或版本库中的版本。

【git reset HEAD <文件名称>】:撤销暂存区的修改,恢复为工作区的版本。

⭐分支操作

【git branch <分支名>】:创建新分支。

【git checkout <分支名>】:切换到指定分支。

【git checkout -b<分支名>】:创建并切换到指定分支。

【git checkout master】:回到主分支。

【git merge <分支名>】:合并指定分支到当前分支

{注:git merge并不是合并指定分支到master主分支,一定不要搞混了}

【git branch -d <分支名>】:删除本地已合并的分支。

引入:Git一些高级命令(参考)

  1. 贮藏(stash)

    • git stash:将当前工作区的改动暂存起来,以便稍后恢复。
    • git stash list:查看所有贮藏的记录。
    • git stash apply:恢复最近一次的贮藏。
    • git stash pop:恢复最近一次的贮藏,并删除该贮藏记录。
    • git stash drop:删除指定贮藏记录。
  2. cherry-pick

    • git cherry-pick <commit_hash>:提取指定提交,并应用到当前分支。
  3. revert

    • git revert <commit_hash>:生成一个撤回之前提交的新commit,确保其他人修改的记录不会受到影响。
  4. reflog

    • 除了用于查看所有操作记录外,git reflog还可以用于找回遗失的提交。通过查看历史记录,找到丢失的commit id,然后使用git reset <commit_hash>找回。


http://www.kler.cn/a/403034.html

相关文章:

  • MYSQL——多表设计以及数据库中三种关系模型
  • 使用golang启动一个http代理
  • SpringSecurity创建一个简单的自定义表单的认证应用
  • 【Unity3D插件】Unity3D HDRP Outline高亮发光轮廓描边插件教程
  • CSS3_BFC(十二)
  • 力扣刷题--21.合并两个有序链表
  • 量化交易系统开发-实时行情自动化交易-3.4.3.3.期货市场深度数据
  • Golang语言整合jwt+gin框架实现token
  • 学习threejs,对模型多个动画切换展示
  • Matlab多输入单输出之倾斜手写数字识别
  • os库的常见使用
  • 星融元与焱融科技AI分布式存储软硬件完成兼容性互认证
  • 13.C++内存管理2(C++ new和delete的使用和原理详解,内存泄漏问题)
  • 数据结构(双向链表——c语言实现)
  • Restful API 规范详解
  • 单片机学习笔记 2. LED灯闪烁
  • c++--------《set 和 map》
  • C++手写PCD文件
  • 使用Kotlin写一个将字符串加密成short数组,然后可以解密还原成原始的字符串的功能
  • 前端页面自适应等比例缩放 Flexible+rem方案
  • 小程序-基于java+SpringBoot+Vue的超市购物系统设计与实现
  • 【React 进阶】掌握 React18 全部 Hooks
  • 鸿蒙原生应用开发元服务 元服务是什么?和App的关系?(保姆级步骤)
  • 详解八大排序(一)------(插入排序,选择排序,冒泡排序,希尔排序)
  • Linux驱动开发第2步_“物理内存”和“虚拟内存”的映射
  • EDA实验设计-led灯管动态显示;VHDL;Quartus编程