Git保姆级教程

news2025/7/7 20:26:23

目录

Git是什么,为什么要学这个工具?

码云注册并创建仓库

Git安装

查看本地仓库状态

添加到暂存区

提交到本地库

修改文件

版本回退

创建、切换和删除分支

合并分支

克隆远端库到本地

将本地库推送到远端库

命令设置别名


Git是什么,为什么要学这个工具?

Git是一个开源的分布式版本控制系统,由Linus Torvalds创建,用于有效、高速地处理从小到大的项目的版本管理。Git是目前世界上最流行的版本控制系统,广泛应用于软件开发中,用于代码的版本控制和协同工作。

以下是Git的一些主要特性:

  1. 分布式架构:Git给予每个开发者一份完整的代码库,包括所有分支和标签,这意味着即使在无网络连接的情况下也能进行大部分操作。

  2. 速度:Git在合并、分支、切换等操作上非常快速,提供了高效的文件合并和代码对比。

  3. 数据完整性:Git通过SHA-1哈希算法保护代码和历史记录的完整性,确保代码不会在传输过程中损坏。

  4. 支持分支和合并:Git支持快速、简便的分支创建和合并操作,鼓励开发者使用分支进行开发。

  5. 支持离线操作:开发者可以在本地进行大部分Git操作,如提交、查看历史等,不需要网络连接。

  6. 基于变更的合并:Git合并操作是基于差异的,这使得合并过程更加高效和准确。

  7. 多用户支持:Git能够处理多用户协作,允许多个开发者同时工作在同一个项目上。

  8. 可扩展性:Git是一个可扩展的系统,提供了钩子(hooks)和API,允许和其他工具集成。

  9. 支持大型项目:Git能够高效地处理大型项目,如Linux内核,它能够快速地切换分支和合并代码。

  10. 兼容性:Git与其他版本控制系统(如SVN)兼容,可以导入或导出项目。

  11. 图形用户界面:虽然Git本身是一个命令行工具,但存在许多图形用户界面(GUI)客户端,如GitHub Desktop、SourceTree等,使得非命令行用户也能方便地使用Git。

  12. 社区支持:Git拥有一个活跃的社区,提供大量的文档、教程和工具。

Git是现代软件开发中不可或缺的工具之一,它帮助开发者管理代码变更、协作和追踪项目历史。

复杂了, 说白了git就是一套代码, 帮助我们管理项目代码的, 为什么要将项目代码等主要文件进行版本控制呢。比如有这样一个例子, 你在写一个项目代码, 成功了, 但是你觉得这个版本有点问题, 但是能用, 想要改进一下, 但是又害怕改不出来, 最开始能用的版本都没了, 这个时候就可以使用git, 就和我们在代码的时候version1, version2, 会给项目起很多个版本。git就是这样一个作用, 可以帮我们快速追溯代码, 进行版本控制。

码云注册并创建仓库

这个url就是我们仓库的网址, 或者说就是我们创建的仓库在网络服务器中的存储位置

Git安装

没有安装的按照下面的步骤安装一下

首先在虚拟机中安装应用: sudo apt-get install git (ubuntu要有网络)

安装完成应该我们去刚才的仓库的url复制一下, 需要输入账号名和密码, 自己输入一下就行。

git clone url(自己仓库的url)

这样我们刚才在码云上创建的仓库就被克隆到本地了

git初始化: git init

配置姓名: git config --global user.name "Your Name"

配置邮箱: git config --global user.email "you@example.com"

查看并管理目录下文件的状态: git status (新增的及修改的文件都是红色)

将指定文件或所有文件加到暂存区: git add 文件名 或 git add . (绿了)

生成版本: git commit -m “名字” (名字随便起,为了管理)

上交文件或者目录: git push

查看版本记录: git log

查看本地仓库状态

添加到暂存区

提交到本地库

修改文件

版本回退

创建、切换和删除分支

合并分支

克隆远端库到本地

生成密钥: ssh-keygen -t rsa -C "youremail" (直接按三次回车即可生成;虚拟 机输入cat /home/xxx/.ssh/id_rsa.pub查看公钥[xxx为自己的用户名], 将这个公钥添加到git仓库,即可下载clone该仓库的源码文件。) 然后将密钥加载到码云 即可克隆或上传

将本地库推送到远端库

命令设置别名

eg: git log ==> git ls (作用是查看log版本信息)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1822233.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Qt 竖排文字研究(一)

在传统的编程环境中,代码的排列方式通常是水平的,这是基于我们日常的阅读习惯和编程规范。但是,当我们尝试打破这一常规,将代码字符以竖排的方式呈现时,发现没有什么现成有效的方式。所以本文基于Qt 的场景视图下&…

水表摄像直读抄表仪

1.技术性简述 水表摄像直读抄表仪,是一种前沿的智能计量机器设备,它利用超清摄像头部和图像识别算法,完成了远程控制、非接触的水表载入。这一技术的普及,颠覆了传统式人力抄表的形式,提高了效率,降低了不…

eclipse如何导入springboot项目

打开eclipse 找到你的springboot项目 点击finish即可 test02就已经导入进去了 配置一下maven 在将那个springboot项目刷新一下即可 运行成功

搭建 Redis 集群【Windows】

Redis 集群是一个分布式存储解决方案,它将数据分布在多个Redis节点上,以提高系统的可伸缩性、可靠性和性能。 1. 集群概念与特点 集群概念:Redis集群是由多个相互独立的 Redis 节点组成,这些节点通过高速网络互联,并作…

Java多线程-StampedLock(原子读写锁)

StampedLock 是读写锁的实现,对比 ReentrantReadWriteLock 主要不同是该锁不允许重入,多了乐观读的功能,使用上会更加复杂一些,但是具有更好的性能表现。StampedLock 的状态由版本和读写锁持有计数组成。 获取锁方法返回一个邮戳&…

源代码防泄密经验分享之安全上网篇

场景描述: 随着信息技术的发展,越来越多的新技术产品进入到政府、军事、科研等涉密单位。这些新技术产品在给工作人员带来便利的同时,也给信息安全保密工作带来了许多新的不容忽视的安全隐患,应引起高度重视。常规的内外网隔离手…

VSCode插件开发之初始化项目

VS code常见组件 在VS Code插件开发中,常用的组件有很多,这些组件可以帮助你实现各种功能和交互。以下是一些常见的组件: Extension API模块: 提供了许多类和方法,用于与VS Code编辑器进行交互,例如vscode.workspace用…

抽象语法树AST(Abstract Syntax Tree)

抽象语法树(Abstract Syntax Tree) 抽象语法树(Abstract Syntax Tree,AST)是源代码语法结构的一种抽象表示它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构 抽象语法树用途 代码语法的检查、代码…

辣椒属2个T2T基因组-文献精读23

Two telomere-to-telomere gapless genomes reveal insights into Capsicum evolution and capsaicinoid biosynthesis 两个端粒到端粒无缝基因组揭示了辣椒进化和辣椒素生物合成的相关见解 摘要 辣椒(Capsicum)因其果实中含有辣椒素而闻名&#xff0c…

【SQL每日一练】获取北纬度(LAT_N)的中位数

文章目录 前言一、题析二、题解1.mysql2.sqlserver 前言 从 STATION 查询北纬度 (LAT_N) 的中位数,并将您的答案四舍五入到小数点后4位. 中位数的定义是:如果数据量是奇数,则中位数是排序后位于中间的数;如…

拥抱数字世界|AI在娱乐行业的应用,娱乐新纪元已到来

在蓬勃发展的全球化趋势下,越来越多的厂商正在批量涌入娱乐赛道,期待能创造新的增长奇迹。随着科技的不断发展,人工智能技术正日益深入各行各业,其中媒体和娱乐行业更是迎来了一场革命性的变革。在媒体和娱乐领域展现出了巨大的潜…

海康威视-NVR使用及ISAPI协议透传接入

目录 1、初始化配置 1.1、设置通道默认密码 1.2、添加摄像头 1.3、设置不采集时间段 1.4、抓拍延迟设置 1.5、录像保存时长设置 1.6、人脸库维护 1.7、导入照片 1.8、设置事件 1.8.1、引擎配置 1.8.2、事件设置 1.8.2.1、目标比对 1.8.2.2、设置屏蔽区 1.8.2.3、…

每日一练:攻防世界:北京地铁

首先是找图片隐写 在这里可以看到一串类似base64格式的字符串 再结合题目,这应该就是明文了,要AES解密,还需要密钥,提示要看图片本身,那密钥可能藏在里面,找了半天没找到,参考师傅的wp&#x…

Docker:利用Docker搭建一个nginx服务

文章目录 搭建一个nginx服务认识nginx服务Web服务器反向代理服务器高性能特点 安装nginx启动nginx停止nginx查找nginx镜像拉取nginx镜像,启动nginx站点其他方式拉取nginx镜像信息通过 DIGEST 拉取镜像 搭建一个nginx服务 首先先认识一下nginx服务: NGI…

FreeRTOS 简单内核实现1 前言

文章目录 0、写在前面1、参考资料2、准备工作2.1、STM32 空工程2.2、创建 RTOS 文件目录 3、约定4、专栏目录5、项目仓库 0、写在前面 为深入理解 RTOS 内核工作机制,笔者制作了名为 “FreeRTOS 内核简单实现” 的项目专栏 ,目标为自己动手从 0 到 1 编…

第二证券股市资讯:苹果,重回第一!

苹果以弱小的优势,从头夺回市值榜首宝座。 当地时间6月13日周四,美股三大股指涨跌纷歧,纳指与标普500指数均录得接连第四日上涨,而且再创前史新高。 周四,美国5月份生产者价格指数(PPI)意外下…

Apache Doris单机快速安装(已踩坑)

官方文档:https://doris.incubator.apache.org/zh-CN/docs/get-starting/quick-start/ 环境: 操作系统:CentOS7.6 X86_64 JDK:Oracle jdk1.8.0_351 1.版本下载 从 doris.apache.org 下载相应的 Doris 安装包,并且解压…

碎片化知识如何被系统性地吸收?

一、方法论 碎片化知识指的是通过各种渠道快速获取的零散信息和知识点,这些信息由于其不完整性和孤立性,不易于记忆和应用。为了系统性地吸收碎片化知识,可以采用以下策略: 1. **构建知识框架**: - 在开始吸收之前&am…

吉时利Keithley2611B单通道SMU数字源表

Keithley吉时利2611B数字源表 2611B、2612B、2614B 系统 Sourcemeter SMU 仪器 2611B、2612B 和 2634B 系统 Sourcemeter SMU 仪器为 30W DC / 200W 脉冲 SMU,支持 10A 脉冲,1.5A 至 100fA 和 200V 至 100nV DC。所有 2600B SMU 均配备吉时利 TSP 脚本…

硬件开发笔记(十八):核心板与底板之间的连接方式介绍说明:板对板连接器

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/139663096 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV…