git 工具原理

news2024/11/14 12:00:55

git

目录

git

git的使用

了解git的三个区域

具体操作

如何下载别人上传到git的工程


-- 可以参考菜鸟教程,包括安装配置git

Git 安装配置 | 菜鸟教程

-- Git 是一种分布式版本控制系统,用于管理软件项目的源代码。它是由 Linux 之父 Linus Torvalds 开发的,并已经成为了现代软件开发领域中最流行的版本控制系统之一。

-- 使用 Git 可以追踪代码的历史修改记录,方便团队协作、代码共享和代码重构

-- Git 的基本工作流程如下:

  • 在开始编写代码之前,首先需要创建一个 Git 仓库(repository),用于存储代码和版本历史记录。
  • 在编写代码时,可以通过 git add 命令将更改的文件添加到 Git 的暂存区(staging area)中。
  • 通过 git commit 命令将暂存区中的更改提交到 Git 仓库中,并生成一个新的版本号(commit hash)。
  • 如果需要撤销某个提交,可以使用 git revert 命令来创建一个新的提交,该提交将会抵消先前的提交效果。
  • 如果需要合并不同分支的代码,可以使用 git merge 命令进行合并。
  • 如果需要查看代码的历史提交记录,可以使用 git log 命令来获取详细信息。
  • 如果需要将代码推送到远程仓库,可以使用 git push 命令将本地代码推送到远程仓库。
  • 如果需要从远程仓库中获取代码,可以使用 git pull 命令将远程代码拉取到本地。

git的使用

-- 在你要执行的的工程的根目录下打开git,首先输出cmd命令行提示符,然后输入git -v,如果输出git的版本号,则说明git已经安装成功。

alt text

了解git的三个区域

alt text

  • 工作区:是你在本地计算机上的项目目录,你在这里进行文件的创建、修改和删除操作。工作区包含了当前项目的所有文件和子目录。

特点: 显示项目的当前状态。
文件的修改在工作区中进行,但这些修改还没有被记录到版本控制中

  • 暂存区是一个临时存储区域,它包含了即将被提交到版本库中的文件快照,在提交之前,你可以选择性地将工作区中的修改添加到暂存区。

特点: 暂存区保存了将被包括在下一个提交中的更改。
你可以多次使用 git add 命令来将文件添加到暂存区,直到你准备好提交所有更改。

git add filename       # 将单个文件添加到暂存区
git add .              # 将工作区中的所有修改添加到暂存区
git status             # 查看哪些文件在暂存区中

  • 版本库包含项目的所有版本历史记录。 每次提交都会在版本库中创建一个新的快照,这些快照是不可变的,确保了项目的完整历史记录。

特点: 版本库分为本地版本库和远程版本库。这里主要指本地版本库。 本地版本库存储在 .git 目录中,它包含了所有提交的对象和引用。

git commit -m "Commit message"   # 将暂存区的更改提交到本地版本库
git log                          # 查看提交历史
git diff                         # 查看工作区和暂存区之间的差异
git diff --cached                # 查看暂存区和最后一次提交之间的差异

具体操作

-- 1、打开终端或命令行界面,进入要创建版本库的目录下。(创建一个仓库(初始化一个仓库),并查看状态)

alt text

git init
git status

-- 2、将需要管理的文件添加到暂存区

  • 将单个文件添加到暂存区
git add <file>
  • 将所有修改的文件添加到暂存区
git add *

alt text

-- 再次查看状态,文件显示已被跟踪,但是没有被提交到仓库

alt text

-- 3、之后将追踪的文件提交到版本库(仓库),并且写上代码提交信息(也就是给你这个更改操作起个名字)

git commit -m "代码提交信息"
  • 现在,你的改动已经提交到了 HEAD,但是还没到你的远端仓库。

  • 配置完邮箱之后再次执行

alt text

-- 4、再次查看状态,已经没有需要提交到仓库的文件了(也就是说没有更改过的文件了),然后查看提交日志,记录了第一次提交的内容

alt text

git log

-- 5、假如更改工程中的某个文件

alt text

-- 6、当被追踪的文件发生更改,再次获取状态的时候就能看到。使用命令git diff可以查看工作区和暂存区之间的差异(也就是我们新更改的内容)

alt text

git diff

-- 7、执行完git diff后一直按键盘↓,到底部就会看到具体的变化,绿色表示增加的变化,红色表示删除的变化。按q退出

alt text

-- 8、将这次更改直接上传到版本库,也就是提交到仓库,并且写上代码提交信息。(这里是将上传到暂存器和再从暂存区上传到仓库这两步合并成一步)

git commit -a -m "代码提交信息"   

alt text

-- 9、上传过后再次查看日志,就可以看到

alt text

-- 10、分支

-- 查看分支

git branch

alt text

分支是用来将特性开发绝缘开来的。在你创建仓库的时候,master 是“默认的”分支。在其他分支上进行开发,完成后再将它们合并到主分支上。

alt text

-- 创建一个叫做“feature_x”的分支,并切换过去:

  • git checkout -b feature_x

也可以用另一个指令

git branch feature_x

-- 切换分支

git switch feature_x

alt text

-- 在test下更改工程代码,然后上传到仓库

alt text

-- 再把新建的分支删掉:

  • git branch -d feature_x

alt text

-- 除非你将分支推送到远端仓库,不然该分支就是 不为他人所见的:

  • 注册登入gitee官网

Gitee - 基于 Git 的代码托管和研发协作平台

  • 创建一个自己的仓库,注意这个仓库可以设置为私有或者公开,公开的话别人就可以看到你的代码,私有的话只有你自己才能看到。

alt text

  • 将本地仓库和远程仓库关联起来

alt text

alt text

git remote add origin https://gitee.com/yourname/your-repo.git

git push -u origin master

-- 在master分支时上传到远程master分支,然后切换到test分支时上传到远程test分支

alt text

如何下载别人上传到git的工程

alt text

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

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

相关文章

MAN TruckScenes数据集:第一个用于自动驾驶卡车的大规模多模式数据集。

2024-07-15,为了推进自动驾驶卡车技术的发展并确保其在公共道路上的安全性&#xff0c;由慕尼黑工业大学和MAN Truck & Bus SE联合创建了MAN TruckScenes数据集。数据集首次为研究社区提供了一个包含丰富环境条件下的卡车特定挑战&#xff0c;如拖车遮挡、新型传感器视角和…

基于微信小程序的实习管理系统(附源码,文档)

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

mp3格式音频怎么做成二维码?扫码获取音频文件的制作方法

随着二维码的广泛使用&#xff0c;现在很多内容都会通过生成二维码的方式来传输内容&#xff0c;通过这种方式可以更快捷的实现内容分享&#xff0c;简化其他人获取内容的流程&#xff0c;有效提高效率。音频是目前常见的一种内容分享方式&#xff0c;比如录音、听力、音乐等类…

山东布谷科技:关于直播源码|语音源码|一对一直播源码提交App Store的流程及重构建议

自从YY、六间房开启国内聊天室和秀场等网红盛行的网络红利时代以来&#xff0c;紧随其后国内各大音视频平台相应出现&#xff0c;先有映客花椒等直播平台的风头正劲&#xff0c;后有功能板块更丰富的头条抖音Tiktok等&#xff0c;盈利功能点不仅仅有直播PK连麦等礼物打赏功能&a…

【NOIP普及组】统计单词数

【NOIP普及组】统计单词数 &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; 一般的文本编辑器都有查找单词的功能&#xff0c;该功能可以快速定位特定单词在文章中的位置&#xff0c;有的还能统计出特定单词在文章中出现的次数。 现在&#x…

ArkTs语言常用数据类型和使用说明及示例(9种常用,7种非常用)

具体请前往&#xff1a;ArkTs语言基本数据类型及使用说明--包括9种常用变量类型和7种非常用类型

“双十一”电商狂欢进行时,在AI的加持下看网易云信IM、RTC如何助力商家!

作为一年一度的消费盛会&#xff0c;2024年“双十一”购物狂欢节早已拉开帷幕。蹲守直播间、在主播热情介绍中点开链接并加购&#xff0c;也已成为大多数人打开“双11”的重要方式。然而&#xff0c;在这火热的购物氛围背后&#xff0c;主播频频“翻车”、优质主播稀缺、客服响…

机器学习中的分类:决策树、随机森林及其应用

&#x1f497;&#x1f497;&#x1f497;欢迎来到我的博客&#xff0c;你将找到有关如何使用技术解决问题的文章&#xff0c;也会找到某个技术的学习路线。无论你是何种职业&#xff0c;我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章&#xff0c;也欢…

ETL架构怎么选?全量、增量还是实时流式?

一、 ETL &#xff1a; 基本定义&#xff1a;ETL 是将业务系统的数据经过抽取&#xff08;Extract&#xff09;、清洗转换&#xff08;Transform&#xff09;之后加载&#xff08;Load&#xff09;到数据仓库的过程&#xff0c;目的是将企业中分散、零乱、标准不统一的数据整合…

特色3D打印机stm32迷你8轴双核心主板

我自己设计的3D打印机主板 1. 这是一块迷你的8轴主板, 主板尺寸为100mm*75mm, 使用一个8cm静音风扇散热足够了2. 这是一个带有保护的板子, 驱动上的gpio具有过压保护功能, 能够直接抗住24V的冲击, 意味着一个驱动炸了, 板子不烧, 并且其他的驱动也没事, 主板支持自动关机3. 8…

【2】GD32H7xx 串口Idle + DMA接收不定长数据

目录 1. IDLE中断相关介绍2. D-Cache与DMA同时使用2.1 I-Cache与D-Cache2.2 D-Cache与DMA同时使用时的数据一致性问题2.2.1 CPU读取DMA写入到SRAM的数据2.2.2 DMA读取CPU写入到SRAM的数据 3. Uart Idle DMA收发程序4. 程序测试 1. IDLE中断相关介绍 在 GD32H7xx MCU 中&#…

证书学习(六)TSA 时间戳服务器原理 + 7 个免费时间戳服务器地址

目录 一、简介1.1 什么是时间戳服务器1.2 名词扩展1.3 用时间戳标记顺序1.4 7 个免费TSA时间戳服务器地址(亲测可用)1.5 RFC 3161 标准二、时间戳原理2.1 时间戳服务工作流程2.2 验证工作流程2.3 举个例子2.4 时间戳原理总结三、代码实现3.1 curl 命令请求时间戳3.2 java 代码…

一步一步从asp.net core mvc中访问asp.net core WebApi

"从asp.net core mvc中访问asp.net core WebApi"看到这个标题是不是觉得很绕口啊&#xff0c;但的确就是要讲一讲这样的访问。前面我们介绍了微信小程序访问asp.net core webapi(感兴趣的童鞋可以看看前面的博文有关WEBAPI的搭建)&#xff0c;这里我们重点不关心如何…

信捷 XD PLC C语言 FB和FC 不同

信捷 XD PLC 的C语言下 FB和FC 的使用&#xff0c;如果你有困惑&#xff0c;本文可能会帮到你&#xff01; 调用FB要带后缀_Body的&#xff0c;这个地方很容易忽视和出错。 不同之处FBFC可以在全局变量表中建立此类型对象可以1个&#xff0c;也可以多个不可以参数类型及数量有…

「Mac畅玩鸿蒙与硬件28」UI互动应用篇5 - 滑动选择器实现

本篇将带你实现一个滑动选择器应用&#xff0c;用户可以通过滑动条选择不同的数值&#xff0c;并实时查看选定的值和提示。这是一个学习如何使用 Slider 组件、状态管理和动态文本更新的良好实践。 关键词 UI互动应用Slider 组件状态管理动态数值更新用户交互 一、功能说明 在…

共享汽车管理:SpringBoot框架的高效实现

摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了共享汽车管理系统的开发全过程。通过分析共享汽车管理系统管理的不足&#xff0c;创建了一个计算机管理共享汽车管理系统的方案。文章介绍了共享汽车管理系统的系…

艾体宝产品丨加速开发!Redis Copilot智能助手上线

我们最近发布了 Redis Copilot&#xff0c;旨在帮助开发者更加高效地使用 Redis 构建应用。提升应用性能&#xff0c;简化构建过程是我们不懈的追求。Redis Copilot 正是为此而生的人工智能助手&#xff0c;助力开发者迅速掌握 Redis 的使用技巧。现在您可以在 Redis Insight 中…

阿里云centos7.9服务器磁盘挂载,切换服务路径

项目背景 1、项目使用的服务器为阿里云centos7.9&#xff0c;默认的磁盘为vda&#xff0c;文件系统挂载在这个磁盘上&#xff0c;项目上使用的文件夹为/home/hnst/uploadPath 2、vda使用率已达到91% 3、现购置一块新的磁盘为vdb&#xff0c;大小为2T 目的 切换服务所使用的…

Electron + Vue3 开发桌面应用+附源码

什么是 Electron&#xff1f; Electron 是一个使用 JavaScript、HTML 和 CSS 构建跨平台桌面应用程序的框架。它由 GitHub 开发并维护&#xff0c;允许开发者使用现代 Web 技术创建原生应用程序。Electron 结合了 Chromium 渲染引擎和 Node.js 运行时环境&#xff0c;使得开发…

【Leecode】Leecode刷题之路第44天之通配符匹配

题目出处 44-通配符匹配-题目出处 题目描述 个人解法 思路&#xff1a; todo代码示例&#xff1a;&#xff08;Java&#xff09; todo复杂度分析 todo官方解法 44-通配符匹配-官方解法 前言 本题与10. 正则表达式匹配非常类似&#xff0c;但相比较而言&#xff0c;本题稍…