git学习笔记

避开这些坑!智鼎MAP性格测试高分指南(附互联网/国企/外企答题模板) 本文深入解析智鼎MAP职业性格测试的核心逻辑与常见陷阱,提供针对互联网、国企、外企三大行业的差异化答题策略与实战模板。帮助求职者理解测试本质,避开追求完美人设、忽视程度副词等心理陷阱,塑造与目标岗位高度匹配的职业画像,从而在招聘关键环节脱颖而出。 阅读详情

1 简述

  git是通过使用快照的方式来管理版本,在每次提交的时候,会抓取一张所有文件当前状态的快照,然后存储一个指向该快照的引用。如果文件发生了变化,就会对文件进行存储。如果文件没有发生变化,则快照不会对文件进行保存,而是只留下一个链接,这个链接会指向上一个快照的文件。

2 git文件状态

  在git中,文件可以分为已跟踪和未跟踪文件。
  未跟踪文件是git没有监控的文件,可以通过使用git add等命令加入监控。
  已跟踪文件是由git所监控的文件,状态可以进一步分为以下三种状态之一:已提交(commit)、已修改(modified)、已暂存(staged)。
    已提交:文件已经存入本地数据库中。
    已修改:已经改动文件,但未提交
    已暂存:文件已经做了标识,并将其加入下一次要提交的快照中。

3 git工作区域

  git的工作区域主要可以分为三个部分:git目录、暂存区、工作目录。
git目录是git保存项目元数据和对象数据库的地方。
工作目录是项目某个版本的单促检出,这些文件从git目录下的压缩数据库内被提取出,放置在磁盘上以供使用修改。
暂存区是一个文件,它保存了下次要提交内容的相关信息。

4 head的概念

  head是指向当前所在本地分支快照的指针,表明当前的git的快照版本。当进行commit/push等操作时,会更新head的指针,使之指向更新后的快照版本。也可以通过使用revert等命令,使版本回退,或checkout来指向其他分支

5 .gitignore文件

  .gitignore文件主要用于指定忽略的文件/文件夹。需要放在git目录的根目录,支持正则表达式。

6 分支和主干

  分支和主干其实是一样的东西,是工作流的一种概念。但在实际工作中,需要有一个准绳,所以通常以初始化时的系统自带的第一个分支master作为主干。工作时建立其他的分支,工作完就把工作分支的工作合并到主干上。

7 tag

  tag是版本标记,通常版本号是版本摘要的一部分,难以理解且上下版本之间没有联系,所以可以通过在版本上增加标记,提示该版本实际信息,以便于检索与理解。

8 merge

  merge是合并,将两个分支合并为同一个分支,合并后,仍指向原来分支。
  流程如下:
  
在这里插入图片描述

9 rebase

  rebase是变基,即变动基点的意思,通常来说,一个新的分支是从旧的分支的某个快照中分离出来的,如8中的图,A1是分支A和分支B的分歧点,是最后的公共点。站在分支b的角度来说,它所做的所有工作都是基于分支A1之上,所以A1就是分支B的基点。那么rebase命令就是变动这个基点,使分支B的工作不是基于A1而是基于A3。具体的操作是将B2、B3的变动进行提取,并在变动后的基点上再现。
  流程如下:
在这里插入图片描述
  由于基点不一样,所以重新提交升成的版本会与原来的不一样。
  相比于merge,变基的最大优点是在主干合并后变更历史日志上也会显示成一条直线,可以简洁明了的了解变更历史。但由于变基会丢弃原有的快照版本,会导致依赖这些版本开发的人员产生困扰。
在这里插入图片描述
  如分支B进行变基后,B1被分支B抛弃,作为基础的分支C虽然还能看到B1,但B1已经不存在任何意义了,造成分支C的日志的污染。当然分支C可以通过fetch的方法重新从分支B获取信息。

10 狐步舞更新

  狐步舞更新实质并不会对代码造成影响,因为在提交合并时,必须要解决冲突才能合并,所以在这一点,无论是怎样的更新操作,对代码本身是并没有影响的。受影响的是更新历史日志。狐步舞更新的示例如下:
在这里插入图片描述
A:git pull master
A:git push master
C:git pull master
C:git push master
  分支A和分支C分别以主干的0和1版本出发,工作完成后通过从主干fetch后再merge方式并入到主干。在分支C合并完之后,主干的历史就如图所示,可以看到变更历史有三条道,每条道显示各自分支的变更,不便主干管理。其问题在于采用这种方式进行更新,主干的历史变更记录会记下分支是从哪个版本开始的工作,但实际上在主干代码管理中,我们并不care分支是在哪个快照开始的工作,只care分支的实际工作和并入的时间点。所以我们可以通过使用rebase的方式来提交代码,那么主干的变更历史就会成为一条直线,美观且方便管理。
在这里插入图片描述
A:git pull --rebase master
A:git push master
C:git pull --rebase master
C:git push master

11 git命令

git status 查看git目录下文件状态
git add file 新增跟踪文件/暂存已修改
git add . 新增所有跟踪文件/暂存所有修改
git commit -m ‘提交信息’ 将所有暂存区的信息提交到git目录,形成一个新的快照。
git rm file 删除文件,并将该操作记录放入暂存区。
git fetch [remote-name] [branch-name] 从指定的远端仓库的指定分支拉取快照
git remote -v 查看当前远程仓库连接
git remote add [shortname] [url] 增加远程仓库连接
git remote rename [old] [new] 重命名远程连接
git remote rm [remote-name] 删除远程连接
git config --global [config-name] [config-value] 配置全局配置
git tag -a [tag-name] -m [tag-message] 创建注释标签
git fetch [remote-name] 从远程分支拉取数据
git branch -v 查看分支
git checkout -b [branchname] 切换分支,若分支不存在则新建
git branch --merged 查看已合并分支
git branch --no-merged 查看已合并分支
git push [remote-name] [branch-name] 推送数据到远程连接的指定分支
git log 查看变更历史
git stash 将当前暂存的变更和跟踪文件的修改到一个栈中,以便完成其他工作再取回
git stash branch [branch-name] 将栈中的变更变为一个新的分支

高级数据库--作业及答案 中科大金培权老师的高级数据库课程作业及答案 阅读详情

相关推荐

SNAP实战:哨兵1 SLC数据预处理全流程详解(附避坑指南)

本文详细解析了使用SNAP软件处理哨兵1号SLC数据的完整预处理流程。从轨道精校正、辐射定标到多视与斑点滤波,再到地理编码,文章提供了清晰的操作步骤与核心逻辑,并重点分享了实践中的常见“坑”与解决方案,旨在帮助用户高效、准确地完成SAR数据预处理。

7up55的博客 1027

[译] 保护我们的 Git Repos,立刻停止“狐步舞”

原文地址:Protect our Git Repos, Stop Foxtrots Now! 原文作者:Sylvie Davies 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/gold-m… 译者:LeviDing 校对者:薛定谔的猫,luisliuchao 舞者们正准备跳狐步舞。 首先,什么是“狐步舞”式的合并? “狐步舞”式的合并是 git commit 的...

weixin_34406086的博客 279

Scipy优化踩坑实录:trust-constr和SLSQP约束定义到底差在哪?

本文深入解析了Scipy优化模块中trust-constr和SLSQP两种方法在约束定义上的差异。通过对比面向对象的trust-constr和字典式定义的SLSQP,揭示了它们各自的优势与适用场景,帮助开发者在有约束优化问题中选择合适的算法,提升计算效率与准确性。

weixin_42573113的博客 271

Git 学习笔记

个人对 Git 初步学习的理解以及记录

m0_73959697的博客 2110

手把手教你用Gazebo插件实现阿克曼底盘仿真(附Navigation2适配指南)

本文提供了一份完整的ROS2 Navigation2与Gazebo阿克曼底盘仿真全栈指南。从阿克曼运动学原理出发,详细讲解了如何构建URDF/SDF模型、集成gazebo_ros_ackermann_drive插件并进行PID调优,并重点阐述了如何深度适配Navigation2,包括配置Ackermann运动模型、调整规划器与恢复行为,最终实现从建图到自主导航的全流程仿真。

weixin_29310631的博客 398

别再硬啃理论了!用Simulink双脉冲实验,5分钟搞懂MOSFET二极管反向恢复

本文通过Simulink双脉冲实验仿真,帮助电力电子学习者快速理解MOSFET二极管反向恢复特性。文章详细介绍了实验搭建步骤、关键参数配置及波形解析,将抽象理论转化为可视波形,大幅提升学习效率。特别适合需要直观理解反向恢复过程的工程师和学生。

weixin_30918633的博客 955

GIT 学习笔记

GIT 学习笔记 --- 思维导图

weijinhua_123的博客 458

【推荐100个unity插件】Unity URP(通用渲染管线)的基于物理的天地和预计算大气散射——UnityPhysicallyBasedSkyURP

本文介绍了Unity URP(通用渲染管线)中基于物理的天地和预计算大气散射的实现方法。该插件提供物理天空、大气散射、高度雾效、动态天空反射和环境光等功能,要求Unity 2022.3及以上版本,支持着色器模型3.5+。使用步骤包括:添加渲染器功能、配置Volume组件(天空、雾效等),并建议太阳强度设为3、曝光为0作为初始设置。插件已在GitHub和Gitee开源,附带详细配置截图和效果展示。文末推荐了多个Unity开发相关专栏,涵盖游戏开发全领域知识。作者向宇提供了博客链接,欢迎交流学习问题。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1226

Git学习笔记之——常见指令

Git学习笔记之-------常见指令 工作区\暂存区\仓库 说明 git config --global user.name “名称” 注册用户名 git config --global user.email “邮箱” 注册用户邮箱 git init 在当前文件夹建立Git项目 git mv game.py wordgame.py 本地安全地修改文件名 git ...

iot小胡的博客 377

深入理解SQL注入中的union select 1,2,3....

UNION 用于合并两个查询的结果集

渗透之路,攻防之间皆学问 2万+

S7-200SMART 中如何实现单按钮启停功能(两种方法)?

S7-200SMART 中如何实现单按钮启停功能(两种方法),Toggle库指令,状态翻转

Robot_PLC_HMI_Automation 1万+

Git学习笔记

试一下啊

qiren5210的博客 144

【HAL库】STM32CubeMX开发----STM32F407----ETH+LAN8720A+LWIP----ping通

本次实验以芯片为MCU,使用25MHz外部时钟源。以太网PHY层芯片为LAN8720A,由MCU引脚PA8提供时钟。

MQ0522的博客 4843

git和github学习笔记

git和github学习笔记 仅为学习笔记和重要内容参考,如果想学习git相关知识,请移步廖雪峰的git教程 安装git windows下下载二进制安装 创建git仓库 在git bash工具窗口内,切换到某文件夹下,输入git init在该文件夹下生成.git文件夹 git常用命令 语句 含义 git status 查看状态 git log 查看日志 git reflog...

ShadowKiller' blog 771

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Git学习笔记大全

本文是一份全面的Git学习指南,系统介绍了Git的核心概念和操作指令。主要内容包括:版本控制原理(集中式与分布式对比)、Git核心概念(仓库、提交、分支等)、基础操作(创建仓库、提交更改)、进阶操作(分支管理、合并冲突)、高级功能(储藏修改、标签管理)以及远程操作(推送拉取)。文章详细讲解了50+常用Git指令,涵盖配置、提交、分支、撤销、合并等日常开发场景,并附有操作示例和注意事项。适合Git初学者系统学习,也可作为开发者的速查手册,帮助掌握这个强大的分布式版本控制工具。

2402_88633912的博客 1235

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

尚硅谷Git学习笔记:Git入门者的实战宝典

尚硅谷Git学习笔记:Git入门者的实战宝典 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在当今软件开发领域,版本控制是至关重要的环节。Git作为一种分布式版本控制系统,被广泛应用于各类项目开发中。尚硅谷Git学习笔记开源项目,正是一个为Git初学者量身定制的宝贵学习资源。本项目提供了《git尚硅谷笔记.pdf》文件的下载,它汇集了尚硅谷Git相关课程的精华,是学习...

gitblog_06726的博客 502

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

GIT学习笔记

文件冲突,合并失败,手工解决。git config --global init.defaultBranch master #设置版本库默认分支。git config --list #查看已有Git配置。git config --global user.email mark@tedu.cn #设置用户邮箱。git log --oneline #本地版本库提交记录(极简)

2403_89264530的博客 623
上一篇: 通过JNI调用cuda程序
下一篇: (工作笔记)jmockit的使用-mock私有变量、静态变量、代码块
赤月幼狼
博客等级 码龄10年 20粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赤月幼狼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值