git 工具原理

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Qt Udp的组播(多播)、广播和单播

UDP通讯的基本概念和特点‌ UDP&#xff08;User Datagram Protocol&#xff0c;用户数据报协议&#xff09;是‌TCP/IP协议族中的一种无连接协议&#xff0c;主要用于那些对实时性要求较高而可靠性要求较低的应用场景。UDP的主要特点包括&#xff1a; ‌无连接‌&#xff1a;…

搭建react项目

#pic_center 400x 参考文章&#xff1a; react开发环境搭建 系列文章&#xff1a; 文章目录 create-react-app安装reactnpm版本管理npm 镜像安装 create-react-app安装react 查看是否安装过create-react-app npm list create-react-app -- create-react-app5.0.1 # 输出版本…

Leetcode 两数之和 Ⅱ - 输入有序数组

这段代码实现了在一个非递减排序的数组中找到两个数&#xff0c;使它们的和等于目标值的算法。算法使用了双指针技术&#xff0c;具体思想如下&#xff1a; 算法思想&#xff1a; 初始化指针&#xff1a;定义两个指针 left 和 right&#xff0c;分别指向数组的起始位置和末尾位…

论文略读:GRAG:GraphRetrieval-Augmented Generation

202404 arxiv 1 motivation 在许多应用场景中&#xff0c;如科学文献网络、推荐系统和知识图谱&#xff0c;文档之间存在复杂的关联&#xff0c;这些关联在传统的RAG模型中常常被忽略 例如&#xff0c;在处理科学文献时&#xff0c;RAG仅基于文本相似性的检索方法无法充分利用…

103 - Lecture 1

Introduction to Database 一、Introduction to Database Systems 1. 数据的定义 What is Data? EX: data could be a docx file storing your project status report; data could be a spreadsheet containing information • 数据只有在设计的场景中才有意义。&#xff…

【论文复现】MSA+抑郁症模型总结(二)

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀MSA抑郁症模型 情感分析的应用1. 概述2. 论文地址3. 研究背景4. 主要贡献5. 模型结构和代码6. 数据集介绍7. 性能展示8. 复现过程9. 运行过程…

JavaScript 实现文本转语音功能

全篇大概2000 字&#xff08;含代码&#xff09;&#xff0c;建议阅读时间10分钟。 引言 我将向大家展示如何使用 JavaScript 和 Web Speech API 快速实现一个“文本转语音”的 Web 应用。通过这个教程&#xff0c;你将了解如何让浏览器将输入的文本朗读出来。 预览效果 一、…

GitLab基于Drone搭建持续集成(CI/CD)

本文介绍了如何为 Gitee 安装 Drone 服务器。服务器打包为在 DockerHub 上分发的最小 Docker 映像。 1. 准备工作 创建OAuth应用 创建 GitLab OAuth 应用。Consumer Key 和 Consumer Secret 用于授权访问极狐GitLab 资源。 ps:授权回调 URL 必须与以下格式和路径匹配&…

RHCE 第四次作业

一.搭建dns服务器能够对自定义的正向或者反向域完成数据解析查询。 1.配置环境 [rootlocalhost ~]# yum install bind [rootlocalhost ~]#systemctl stop firewalld [rootlocalhost ~]#setenforce 0 2.配置DNS主服务器 [rootlocalhost ~]# vim /etc/named.conf options { …

【ArcGIS】绘制各省碳排放分布的中国地图

首先&#xff0c;准备好各省、自治区、直辖市及特别行政区&#xff08;包括九段线&#xff09;的shp文件&#xff1a; 通过百度网盘分享的文件&#xff1a;GS&#xff08;2022&#xff09;1873 链接&#xff1a;https://pan.baidu.com/s/1wq8-XM99LXG_P8q-jNgPJA 提取码&#…

关于CountDownLatch失效问题

一、项目背景 这几天要开发一个类似支付宝那种年度账单统计的功能&#xff0c;就是到元旦后支付完会把用户这一年的消费情况从各个维度&#xff08;我们把这一个维度称作一个指标&#xff09;统计分析形成一张报告展示给用户。 这个功能实现用到了CountDownLatch。假如统计分析…

【专题】2024年全球生物医药交易报告汇总PDF洞察(附原数据表)

原文链接&#xff1a;https://tecdat.cn/?p38191 在当今复杂多变的全球经济环境下&#xff0c;医药行业正面临着诸多挑战与机遇。2024 年&#xff0c;医药行业的发展态势备受关注。 一方面&#xff0c;全球生物医药交易活跃&#xff0c;2021 - 2023 年的交易中&#xff0c;已…

鸿蒙5.0时代:原生鸿蒙应用市场引领开发者服务新篇章

前言 10月22日原生鸿蒙之夜发布会宣布HarmonyOS NEXT正式发布&#xff0c;首个版本号&#xff1a;鸿蒙5.0。这次“纯血鸿蒙”脱离了底层安卓架构成为纯国产的独立系统&#xff0c;仅凭这一点就有很多想象空间。 目前鸿蒙生态设备已超10亿&#xff0c;原生鸿蒙操作系统在中国市…

3.PyCharm工具

第三方IDE&#xff0c;集成开发工具&#xff0c;官网下载。 社区版本&#xff0c;免费使用。 创建项目 配置解释器&#xff0c;创建python文件&#xff0c;编写代码&#xff0c;运行&#xff1a;

arkUI:Flex弹性布局的各个属性

arkUI&#xff1a;Flex弹性布局的简单使用 1 主要内容说明2 相关内容2.1 Flex弹性布局的方向2.1.1 源码1的简答说明2.1.2 源码1 &#xff08;Flex弹性布局的方向&#xff09;2.1.3 源码1运行效果2.1.3.1 当direction: FlexDirection.RowReverse2.1.3.2 当direction: FlexDirect…

串口接收,不定长数据接收

###1.CUBE-MX配置串口 2.我采用串口中断接收&#xff0c;打开中断接口 3.时钟同样8倍频&#xff0c;1分频&#xff0c;使用内部时钟 打开串口中断 main() { __HAL_UART_ENABLE_IT(&huart1, UART_IT_IDLE); // 启用空闲中断__HAL_UART_ENABLE_IT(&huart1, UART_IT_R…

TikTok本土店vs跨境店:解读TikTok小店差异

TikTok小店的两种主要的店铺类型&#xff1a;本土店和跨境店&#xff0c;虽然这两种店铺在功能上有相似之处&#xff0c;但它们在运营模式、市场定位、目标受众和面临的挑战等方面存在显著的区别。 一、定义与基本特征 1. TikTok本土店 本土店指的是在特定国家或地区内经营的…

深度学习——优化算法、激活函数、归一化、正则化

文章目录 &#x1f33a;深度学习面试八股汇总&#x1f33a;优化算法方法梯度下降 (Gradient Descent, GD)动量法 (Momentum)AdaGrad (Adaptive Gradient Algorithm)RMSProp (Root Mean Square Propagation)Adam (Adaptive Moment Estimation)AdamW 优化算法总结 经验和实践建议…

用 Python搭建一个微型的HTTP服务器用于传输 2024/11/9

使用内置的 http.server 模块,来搭建微型服务器。 快速启动服务器http.server --- HTTP 服务器Python 3.13.0 文档 声明:文章代码部分 由 ai 生成 创建一个简单的文件共享服务器 进入 需要共享的目录 再打开cmd 输入以下代码 python -m http.server 8000 打开服务器 设置主…

虚拟机linux7.9下安装mysql

1.MySQL官网下载安装包&#xff1a; MySQL :: Download MySQL Community Server https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz 2.解压文件&#xff1a; #tar xvzf mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz 3.移动文件&#…