首页 > 其他分享 >git 学习

git 学习

时间:2024-08-29 10:14:42浏览次数:3  
标签:文件 git 学习 Git 提交 commit 分支

git 学习

git学习推荐课程和笔记

02-深入 Git (yuque.com)

尚硅谷Git教程全套完整版(12h深入掌握git)_哔哩哔哩_bilibili

git工作区

git 工作区流程图

image

参考博客;

【Git】(1)---工作区、暂存区、版本库、远程仓库 - 雨点的名字 - 博客园 (cnblogs.com)

【Git】---工作区、暂存区、版本库、远程仓库 - hanease - 博客园 (cnblogs.com)

git 文件三种状态

git中,文件的状态只有三种(已修改、已暂存、已提交)

已修改 : 在工作目录修改Git文件

已暂存 : 对已修改的文件执行Git暂存操作(git add),将文件存入暂存区

已提交 : 将已暂存的文件执行Git提交操作(git commit),将文件存入版本库

我们对文件的各种操作新建、编辑(写代码)都是在工作区完成的,但是工作区的文件还是不被Git所管理的

git status 详解

1. git status结果分析

当执行 git status 的时候,返回结果大致可分为3个部分:

  1. 拟提交的变更:这是已经放入暂存区,准备使用 git commit 命令提交的变更
  2. 未暂存的变更:这是工作目录和暂存区快照之间存在差异的文件列表
  3. 未跟踪的文件:这类文件对于 Git 系统来说是未知的,也是可以被忽略的

image

2. git status 命令

#查看指定文件状态
git status [filename]
#查看所有文件状态
git status

git commit 详解

git commit 命令

#将暂存区-->资源库(版本库)
git commit -m '该次提交说明'

PS D:\java\gitStudy> git status
On branch master
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   CommitTest.java

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        .idea/
        ingoretest.java
        
 # 提交       

PS D:\java\gitStudy> git commit -m "commit提交测试"
[master c228023] commit提交测试
 1 file changed, 2 insertions(+)
 create mode 100644 CommitTest.java


# 提交历史
PS D:\java\gitStudy> git log
commit c228023a4c357a61606b9eb6bff4e33b90b8057a (HEAD -> master)
Author: c
Date:   Tue Jul 9 16:29:23 2024 +0800

    commit提交测试

commit 5075727703edf81cdb914a5540d4030812f94342
Author: c
Date:   Tue Jul 9 16:23:05 2024 +0800

    新建文件测试提交到暂存区

commit 47c4d714e7c8c5418f3a258e24d99ec14af83f23
Author: c
Date:   Tue Jul 9 16:16:22 2024 +0800

    第一次提交

idea commit 提交

**快捷方式: ctrl+k **

image

idea 操作git

1. idea 分支详细介绍

image

image

HEAD:表示当前工作的分支

2. idea 切换分支

branch 切换 test

image

切换后结果

image

切换分支存在问题:

  1. 若当前的分支已经做了一定的修改,则直接进行分支切换时git 会产生如下错误信息。这是由于已经对当前分支进行了修改,但尚未保存而导致的。

    idea checkout报错

image

git checkout 报错


error: Your local changes to the following files would be overwritten by checkout : xxxx 
Please commit your changes or stash them before you switch branches

解决办法: checkout之前 先commit

1. 在当前分支(master)先提交(commit) 保存修改信息 2. checkout 目标分支(branch)当再次切换回来的时候 master分支修改的内容已经保存,不会丢失。

git 学习笔记 —— 保留/丢弃当前分支修改并切换至其他分支 - yhjoker - 博客园 (cnblogs.com)

3. idea Reset current branch here

详细介绍

image

Reset current branch here:操作执行回退,导致之间的所有提交记录全部没了

branch-sout2回溯,导致提交信息没了

image

4. undo commit

相邻的提交撤销,等同于上述Reset current branch here

合并分支

标签:文件,git,学习,Git,提交,commit,分支
From: https://www.cnblogs.com/life1314/p/18386054

相关文章

  • Markdown学习
    一.ai返回的内容1.深入浅出的讲解Markdown及其详细语法Markdown是一种轻量级的标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)。Markdown的语法简洁明了,使得文档编写更加高效和专注。Markdown的基本语法包括:标题:使用#符号表示标题,#的数量......
  • [学习笔记] Splay & Treap 平衡树 - 数据结构
    [学习笔记]Splay&Treap平衡树-数据结构Splay树又名伸展树,一种平衡二叉查找树,通过\(\text{Splay}\)操作不断把节点旋到根节点来维护整颗树的平衡。说人话,很玄学的玩意,复杂度是单log级别的。为啥是单log,科学的解释请移步OI-WIKI。不科学的解释就是,通过不断\(\tex......
  • 生信学习好帮手——生信云服务器,分析更[省心]的云
    开篇生物信息学(Bioinformatics)相关领域的快速迭代带来了学习门槛的显著变化,呈现出一种k型分化。一方面,人工智能(AI)和云计算技术的融合降低了原本高门槛的生物信息学技术的入门难度。另一方面,随着越来越多的研究者涌入这一领域,发表文章的难度也随之增加,这要求研究者在专业......
  • 亦菲喊你来学机器学习(15) --支持向量机SVM
    文章目录支持向量机一、基本概念二、工作原理三、算法特点四、优缺点优点缺点五、构建模型模型参数训练模型可视化svm结果总结支持向量机支持向量机(SupportVectorMachine,SVM)是一种强大的机器学习算法,主要用于分类和回归分析,尤其擅长处理二元分类问题。以下是......
  • 13.JS学习篇-ES6 React 项目模板
    1.项目能力支持1.项目初始化脚手架1.前端编码规范工程化(lint工具、NodeCLI等)2.用工具提升项目的编码规范,如:eslint、stylelint、commitlint、markdownlint、husky等3.工具对于JavaScript、Typescript、React、Vue等不同类型的前端项目下的标准的语法限制;2.相关基础功能......
  • 深度学习实战86-高中数学问答大模型介绍、支持将批量的latex数学公式生成pdf的过程详
    大家好,我是微学AI,今天给大家介绍一下深度学习实战86-高中数学问答大模型介绍、支持将批量的latex数学公式生成pdf的过程详解。本文利用MathGPT数学大模型实现的数学教材智能问答系统。该系统结合了自然语言处理和数学知识图谱,能够理解用户的数学问题,并提供准确的答案和解......
  • Android Qcom USB Driver学习(十一)
    基于TI的FirmwareUpdate固件升级的流程分析usbapplictionlayers的数据USBProtocolPackage①/②maptocheckpasswordcorrectPackageFormat:Byte[0]=ReportIdByte[1]=ValidLength(0x21=33)Byte[2]=BSLCoreCommands(0x11RXPassword)Byte[3]=Val......
  • 每天五分钟深度学习框架pytorch:nn.Module和nn.function的区别
    本文重点前面我们学习了神经网络工具箱nn.Module,本节课程我们学习一下nn.function,我们可以暂时这样认为,基本上nn.Module所能够完成的任务,nn.function基本上都可以完成,也就是它们两个是重复的,但是它们两个还是有很大的区别,这里我们简单的进行一下介绍。nn.Module和nn.func......
  • 并行动力:用PyTorch在多GPU上释放深度学习潜能
    标题:并行动力:用PyTorch在多GPU上释放深度学习潜能随着深度学习模型变得越来越复杂,单GPU训练往往难以满足需求。幸运的是,PyTorch提供了强大的多GPU训练支持,允许我们利用多个GPU来加速模型的训练过程。本文将详细介绍如何在PyTorch中使用多GPU训练,包括数据并行、模型并行以及......
  • CMake构建学习笔记10-OsgQt库的构建
    笔者使用的OsgQt库是Github上openscenegraph仓库中托管的项目(地址),该库的功能是将Osg嵌入到Qt窗体中。不过该库的使用总是有点问题,具体的介绍笔者在之前的两篇博文中论述过:OSG嵌入QT的简明总结OSG嵌入QT的简明总结2因此,这里笔者还是将这个库分成了两个版本进行构建。构建topic/Q......