Git教程

【git】小甲鱼Git教程《极客Python之Git实用教程》笔记一 〇、前情提要 一直想学git,使用GitHub很久了,但一直咕咕咕。择日不如撞日,开搞。 然后突然想起来我冲过小甲鱼的会员,那就跟着小甲鱼学一下吧,后续如果在b站看到了补充的还会再继续写笔记。 参考: 1.【Git教程】《极客Python之Git实用教程》(小甲鱼) https://www.bilibili.com/video/BV1bs411N7ny?from=search&seid=11044103083431153314 2. 小甲鱼官网《极客Python之Git实用教程》 https://f 阅读详情

Git教程

git 简介

Git是目前世界上最先进的分布式版本控制系统(没有之一)。

版本控制系统

版本控制系统就是在开发中用于记录不同阶段的开发文件的管理系统,可以在你需要的时候查找或者回到任何一个历史版本的文件.

git的特点

简单易用,安全性高

git的诞生

Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Linux的代码是如何管理的呢?

在2002年以前,世界各地的志愿者把源代码文件发给Linus,通过手工方式合并代码!累死他了都!

虽然当时也有其他的版本管理系统 SVN之类的 但是因为SVN是集中式的版本管理系统需要服务器存储版本信息,那时候网络不发达所以不合适,其他的是要收费的!

BitMover公司曾经给linux社区免费使用过版本管理系统,但是有人破解,所以被警告了.linus于是开始自己着手写一个版本管理系统.

一个月后 git诞生了,2008年github也应运而生.

集中式和分布式的区别

集中式:

所有用户产生的版本信息全部存在主服务器中,所有用户需要跟服务器进行通讯进行版本管理,一旦服务器出问题,啥都没了!

分布式:

所有用户的版本信息都在本地中有完整的信息备份,多用户开发版本也会在每个用户的电脑中存储所有的信息.一旦某台电脑出现问题可以从其他的用户处获取备份.

当然分布式也可以存在服务器,主要用于多人之间的数据交换,没服务器本地也可以一样进行版本管理.

git的安装

git是全平台都可以使用的版本管理系统,无论linux还是macos和window都可以使用,目前我们介绍window的使用.

下载地址

双击安装下一步即可.

版本库操作

因为git的window版本是命令行模式,所以需要一些常用的命令进行操作

命令:

cd 改变文件路径

mk dir 创建文件夹

pwd 查看当前所在路径

cat 查看文件内容

rm 删除指定文件

创建版本库

git init

​ 初始化版本库操作,使得git在指定的目录下创建版本库,并对其中个的内容进行监视.(尽量不要用中文目录)

版本库会存在三个文件区域:

​ 工作区:当前文件夹,可以对文件进行各种操作

​ 缓冲区:文件提交之前的区域,用于提交前对比工作区

​ 存储区:版本确定提交的区域(类似仓库入库货物并且登记)

添加文件

git add 文件名

​ 将指定的文件提交到缓冲区.

提交文件

git commit -m “版本信息”

​ 将缓冲区的文件提交到版本中记录

查看仓库状态

git status

​ 查看仓库状态,主要用于对比工作区和缓冲区文件的修改,提交状态

查看文件修改

git diff 文件名

​ 检测工作区中指定文件和缓冲区文件的区别,用于确认文件是否是要提交的版本

git diff HEAD --文件名

​ 检测工作区中指定文件和版本库中文件的区别

检测版本日志

git log

​ 获取所有仓库中已经提交的版本信息

git log --pretty=oneline4

​ 获取所有仓库中已经提交的版本信息,一行输出,信息简写

退回指定版本

git reset --hard HEAD^

​ 退回上一个版本

git reset --hard HEAD~5

​ 退回倒数第五个版本 ,数字表示退回的版本序号(倒数)

git reset --hard 序列号

​ 退回指定版本号的版本,只需写出前几位即可自动查找

查询所有的历史版本号

git reflog

如果之前回滚了版本,可以通过该命令获取所有的版本号历史记录

撤销操作

git restore-- 文件名

​ 将工作区中指定的文件使用版本库中的文件覆盖,撤销之前的操作

git reset HEAD 文件名

​ 将工作区中指定的文件使用缓冲区中的文件覆盖,撤销之前的操作,HEAD表示最新的版本

如果你的文件提交到版本库,可以通过版本回退操作,但是如果你提交到了服务器,那就跑路吧!

删除文件

git rm 文件名

​ 从版本库和工作区域删除文件! 只删除工作区的文件是没用的.别忘记commit

远程版本库的创建

配置本地账户信息:

$ git config --global user.name “John Doe”
$ git config --global user.email johndoe@example.com

本地库与远程库进行关联操作

git remote add 远程库的名字 git库的git地址

此处的远程库的名字是提供给本地的git使用的github远程库的名称,类似昵称,默认是origin

将本地库推送到远程库

git push -u 远程库的名字 master 

-u关联本地和远程的所有分支,没有-u仅仅推送当前的master分支

git push 远程库的名字 master

第一次使用-u推送后 以后就可以使用该简化命令

删除远程库

git remote rm 远程库的名字

查看远程库

git remote -v

远程关联本地

git clone 远程的git地址

分支管理

查看当前分支情况

git branch

创建分支

git checkout -b 分支名称

相当于执行2个命令

git branch 分支名称  新建分支
git checkout 分支名称  指定当前分支

删除分支

git branch -d 分支名称

合并分支

git merge 分支名称

switch

git switch -c 分支名称 创建分支
git switch 分支名称	切换分支

新的switch 就是分支专用的新命令 用于替换checkout而已,用哪个都行

解决冲突

当存在两个以上的分支 但是同一个文件内容有差异的情况下无法进行合并的,这个时候就需要找出差异的部分人工解决问题,再进行合并操作

冲突出现

创建分支1,修改文件-> 添加->提交 分支1结束

master分支,修改文件-> 添加->提交 master结束

合并操作

此时合并因为分支1和master对同一文件进行修改,版本管理无法合并产生冲突,如果仅一个分支修改,是可以合并的,被认为是增加内容而已!

冲突内容

Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,我们修改如下后保存:直接再工作区中可以看到冲突文件被标记.

修改解决完冲突内容(2选1),完成之后再次提交就可以合并了.

查看分支合并情况

git log --graph --pretty=oneline --abbrev-commit

分支管理策略

分支管理策略是指如何对分支进行管理能够是的开发程序,开发人员,版本发布互不干扰协同管理的一种方案,通常遵循以下原则:

  1. master分支只用于软件成品的分发布,不用于直接开发
  2. 新建dev分支用于开发内容,多人员提交所使用的分支
  3. 为每个开发人员在dev上单独设立分支,负责不同部分的内容
  4. 开发完成就提交到dev分支用于测试
  5. 测试确定软件没有问题可以使用,提交到master分支

紧急bug修复策略

紧急bug修复就是指在已经发布的软件版本中出现bug需要放下目前工作区的内容进行master分支操作.

这个时候使用git stash的时候到了:

  1. 先用git status 检查工作区是否有没被git管理的文件
  2. 确定没有之后使用git stash命令存储工作区域
  3. 进入master分支 ,创建bug修复分支,例如bug 110,
  4. 在bug110分支上进行修复,修复完成进行合并并删除bug110分支
  5. 切换回之前的开发分支,找出暂存的工作区内容 git stash list查看
  6. 使用git stash pop 将暂存工作区内容返回当前工作区,此方式回删除stash list
  7. 再次查看工作区git stash list 无内容
  8. 因为master的分支是开发分支提交而来,所以bug也存在开发分支,如果需要将修复的分支也提交到开发分支, git cherry-pick bug分支名称

多人写作(需要服务器)

查看远程库名称

git remote

查看远程库详细信息

git remote -v

推送分支

git push 远程库名称  分支名称

推送规则

1.  master分支,必须时刻与远程同步
2.  开发分支,团队协作开发,需要远程同步
3.  bug分支.基本不用

抓取分支

git pull  从远程库中将冲突分支下载到本地用于合并之后再推送上去
  1. 首先,可以试图用git push origin <branch-name>推送自己的修改;
  2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
  3. 如果合并有冲突,则解决冲突,并在本地提交;
  4. 没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!
Git安装教程 本文详细介绍了Git在Windows系统的安装与配置过程。从官网下载安装包后,用户可自定义安装路径并选择常用功能如Git Bash右键集成、Git LFS大文件支持等。安装过程中需注意关键配置项:选择VS Code作为默认编辑器、设置初始分支名称(推荐main)、配置PATH环境变量、选择SSH执行程序(推荐内置OpenSSH)以及换行符处理。文章还解释了Scalar插件的用途(针对超大规模仓库)和终端模拟器选择建议(推荐MinTTY)。这些配置选项直接影响Git的使用体验和团队协作效率,根据开发需求选择。 阅读详情

相关推荐

GIT安装教程(入门)

安装好之后,打开然后使用命令创建你的Git项目上面已经附上习题了,大家可以跟着习题一步一步走一遍!

是个非常热爱生活、乐观、奋斗、努力的逗比青年 6万+

Git安装配置超详细教程

Git安装配置超详细

Laptoy的博客 5万+

基于ENVI5.6与SARscape的哨兵一号时序InSAR实战:从数据准备到PS/SBAS结果解译

本文详细介绍了基于ENVI5.6与SARscape软件,利用哨兵一号(Sentinel-1)卫星数据,进行PS-InSAR与SBAS-InSAR时序分析,以监测地表形变的完整实战流程。内容涵盖从数据下载、软件配置、预处理、核心处理步骤到结果解译与质量评估,重点解析了PS与SBAS方法的关键参数设置、常见问题及解决方案,旨在帮助用户掌握从数据准备到成果分析的完整技术链条。

oo7890的博客 634

真过万收藏的Git教程 —— 新手程序员必看的Git教程

Git 是一个版本控制系统,允许开发人员跟踪其代码随时间的变化。它允许多个人同时处理同一个代码库,并且如果出现问题,可以轻松恢复到以前的代码版本。GitHub 是一个提供 Git 存储库托管服务的网站。开发人员可以在这个平台上存储代码、与他人合作开发开源项目以及跟踪问题和错误。开发人员可以使用 GitHub 创建自己的存储库,即“repos”,就像是代码的文件夹。他们还可以在存储库上创建分支以制作自己的副本,并提交拉取请求以建议对原始存储库进行更改。

lengyudexin的博客 1532

Microchip Studio 7.0 从零开始:下载、安装到首个AVR工程实战

本文为AVR单片机开发新手提供了Microchip Studio 7.0的完整入门指南。从官方下载、避坑安装,到创建首个GCC C工程、编写LED闪烁代码,再到项目配置、仿真调试与程序烧录,手把手带你完成从零到一的实战过程,是掌握AVR开发环境的必备教程。

weixin_29200741的博客 522

cesium 高程数据使用

cesium 高程数据使用高程数据下载高程数据切片简单数据服务 高程数据下载 使用地理空间数据云平台免费提供的高程数据。地理空间云平台 点击列表中的下载得到数据压缩包。例如:ASTGTM2_N22E114.zip 高程数据切片 使用cesium实验室工具对下载得到的压缩包进行切片。cesium实验室 切片得到的文件夹目录。 简单数据服务 使用nodejs的koa启动简单的资源服务。koajs 项目根目录新建data文件夹,在新建dem文件夹放高程数据。 注意目录自行更换,这里是./data/dem

哎哟这个凉白白的博客 1811

【Git】git简易快速入门教程

本文是git的简易版入门教程,教你如何快速地上手git 文章目录1、下载2、设置账户3、配置版本库4、把代码提交到本地仓库5、设置远程仓库地址6、提交到远程仓库 1、下载 百度直接搜git,不过官网下载速度极慢,建议百度git镜像下载 根据你的系统选择下载的安装包,下载好后点击鼠标右键会出现如下图所示的两个选项 2、设置账户 git config --global user.name git config --global user.email 第一行在name后加个空格,再输入你的github的

Hello,My Friends~ 720

手把手教你用TUSB2E22中继器实现eUSB2与USB 2.0互转(附实测数据对比)

本文详细介绍了如何利用TUSB2E22中继器实现eUSB2与USB 2.0的高效互转,包括技术背景、硬件设计要点、信号完整性测试方法及故障排查策略。通过实测数据对比,展示了TUSB2E22在信号延迟、功耗和眼图性能上的显著优势,为工程师提供了实用的工程方案。

weixin_29199873的博客 283

菜鸟教程之git

Git 教程 | 菜鸟教程 git push 命令 | 菜鸟教程

WuHey的博客 316

【VTK】VTK中的光标样式

本文分享VTK中的光标设置相关内容技术,希望对各位小伙伴有所帮助!

qq_40041064的博客 1931

Android TV 遥控器全链路按键适配指南:从物理按键到应用响应

本文深入探讨了Android TV遥控器按键适配方案,涵盖红外和蓝牙遥控器的工作原理及完整适配流程。红外遥控部分详细介绍了从硬件调试、驱动适配到键值映射配置的方法,并提供了实用的调试命令。蓝牙遥控器部分解析了HID协议和报告描述符,给出内核层与Android层的适配代码示例。文章还介绍了游戏手柄、语音遥控器等特殊外设的适配技巧,并提供了系统级调试工具和内核级调试方法,为开发者提供了一套完整的Android TV输入设备适配解决方案。

学无止境 1266

【git】在mac上用brew安装并配置git教程

〇、前情提要 学git需要安装,留一个自认为最简单的流程。 参考: Homebrew国内如何自动安装(国内地址) https://zhuanlan.zhihu.com/p/111014448 git官方下载 https://git-scm.com/download/mac 小甲鱼-Git实用教程2:安装Git https://fishc.com.cn/thread-71175-1-1.html 一、Homebrew 来自参考1知乎专栏,出现问题也可去原网站找原因。 /bin/zsh -c "$(curl

weixin_43210113的博客 1万+

全网最全-DA14531-全球最小-BLE从入门到精通开发教程

本教程主要适用于低功耗产品,DA14531它体积小,非常适用于对体积敏感的设备,如无线可穿戴、传感器、助听器等设备。本文经过作者发大量时间来记录开发项目的调试方法,里面有许多笔者开发心得体会,旨在让读者工程师快速上手,减少摸索时间,提高软件质量。读者对象本文档主要适用以下工程师:嵌入式系统工程师单片机软件工程师IOT固件工程师BLE固件工程师。

hejinwu1314的博客 5138

GIT教程,GIT命令解说,GIT高级教程,GIT官方教程,GIT官方中文教程

你看到的只是一个URL,我感觉没有比这个URL上更好的教程了。 https://git-scm.com/book/zh/v2 学习东西还是看看找找官方的,看看有没有简体中文版的手册。分享一下   ...

zhaoya0111的博客 225

uniapp [全端兼容] - 详细实现用户电子签名 “逐字校验“ 将姓名按字拆开分别手写签署签字,把客户名字自动拆成单独的文字并由用户逐个依次签名与汉字笔画校验,支持汉字格、田字格、米字格、方格等!

uniapp,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,手写签名,电子签署,逐个字挨着写,写名字,将客户姓名分成单独的文字并依次手写,在田字格里写名字,米字格,方格,合同,书写轨迹,验证手写的文字是否正确,如何在uni-app做姓名拆分成独立的文字后手写每一个字,校验正确性,画板,汉字生成在米字格里并且让用户去写,如何画一个汉字田字格,vue把姓名拆分单独写签名,文字,拆掉,中文汉字网格,一个字一个字签名,一次只签名一个文字,判断签名的文字笔画是否正确,Un

🏆 前端领域优质创作者 1万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Git 详细安装教程

Git 详细安装教程(详解 Git 安装过程的每一个步骤)

weixin_45981936的博客 2090

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

git菜鸟教程

http://www.runoob.com/git/git-tutorial.html点击打开链接

baidu_32472003的博客 885

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

乌龟Git安装教程

乌龟Git安装教程

小虚竹的专栏 5199

Git谁看都看得懂的教程

Git谁看都看得懂的教程安装Git创建版本库管理仓库文件的命令1.git add2.git commit3.git status4.git diff5.git log6.git reset7.git reflog工作区和暂存区1.git restore2.git reset HEAD filename生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如...

HHB141219的博客 261

git教程目录

git入门教程 PyCharm和git安装教程 Git的多人协作和分支处理测试

csdn_kou的博客 255

git教程

快速学习git比较好的教程点击打开链接

ethan的专栏 527
上一篇: markdown编辑工具推荐
下一篇: 0基础搭建自己的技术博客
meetcoding
博客等级 码龄5年 14粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值