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.gitgit push -u origin master

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

alt text

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

alt text

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

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

相关文章

VLAN高级+以太网安全

VLAN聚合 MUX VLAN QinQ 以下是这三种VLAN技术的作用及其在项目中的应用实例&#xff1a; VLAN聚合 (VLAN Aggregation) VLAN聚合通常用于将多个VLAN数据聚合到一个物理链路上&#xff0c;以减少链路数量、提高链路利用率。这样可以在一个物理链路上同时传输不同VLAN的数据包&…

前端零基础学习Day-Six

CSS选择器 标签选择器 以HTML标签作为选择器&#xff1a; <style type"text/css"> p,h1,h2,h3,h4{font-size:30px;} p{color:blue;font-family:"隶书";} h1{color:red;} </style> 通过标签选择器设置样式&#xff0c;那使用该标签的内容都引…

springboot集成opencv开源计算机视觉库

最近项目需要用到opencv&#xff0c;网上看到很多资料都是下载安装并且引入jar包与dll文件&#xff0c;感觉很麻烦&#xff0c;不是我想要的&#xff0c;于是花时间折腾了下&#xff0c;不需要任何安装与引入jar包与dll文件&#xff0c;简单方便&#xff0c;快速上手。 先说说…

electron 中 webFrame 作用

1. 理解 Electron 中的 Web 内容呈现 在 Electron 应用中&#xff0c;渲染进程主要负责加载和呈现网页内容&#xff0c;这部分功能与浏览器中的标签页类似。 WebFrame 是 Electron 提供的一个模块&#xff0c;它在**管理和控制这些网页内容的呈现方面**发挥着关键作用。 2. …

Linux操作系统:学习进程_对进程的深入了解

目录 前言 开篇 一、进程概念 二、进程的描述与管理 1、如何描述与管理 2、Linux中的PCB-task_struct 3、对进程组织的理解 三、进程的属性 1、系统创建进程 2、查看进程 3、进程的标识符 4、退出进程 1>ctrlc 2>kill命令杀死进程 5、用户进程的创建方式…

Redis的缓存问题与应对策略

Redis 作为一种高效的缓存系统&#xff0c;在高并发环境下应用广泛&#xff0c;但也面临一些缓存问题&#xff0c;以下是常见问题及其应对策略。 1. 缓存穿透 问题描述 缓存穿透是指请求的数据在缓存和数据库中都不存在&#xff0c;但大量请求直接到达数据库&#xff0c;从而给…

虚拟户分账:电商资金管理的新曙光。

随着电商行业的蓬勃发展&#xff0c;资金管理成为了企业运营的重中之重。传统资金结算方式在面对大规模交易、复杂业务场景时&#xff0c;显得力不从心。在此背景下&#xff0c;电商虚拟户分账系统以其独特的优势&#xff0c;为电商企业带来了资金管理的新曙光。 电商虚拟户分…

力扣:225 用队列实现栈

栈、队列 栈&#xff1a; 弹夹&#xff0c;后进先出 队列&#xff1a; 排队&#xff0c;先进先出 描述&#xff1a; var MyStack function () {// 定义两个数组&#xff0c;模拟队列this.queue []this._queue [] };/** * param {number} x* return {void}*/ MyStack.protot…

lora训练模型 打造个人IP

准备工作 下载秋叶炼丹器整理自己的照片下载底膜 https://rentry.org/lycoris-experiments 实操步骤 解压整合包 lora-scripts,先点击“更新” 训练图片收集 比如要训练一个自己头像的模型&#xff0c;就可以拍一些自己的照片&#xff08;20-50张&#xff0c;最少15张&…

IO 多路复用技术:原理、类型及 Go 实现

文章目录 1. 引言IO 多路复用的应用场景与重要性高并发下的 IO 处理挑战 2. IO 多路复用概述什么是 IO 多路复用IO 多路复用的优点与适用场景 3. IO 多路复用的三种主要实现3.1 select3.2 poll3.3 epoll三者对比 4. 深入理解 epoll4.1 epoll 的三大操作4.2 epoll 的核心数据结构…

大数据新视界 -- 大数据大厂之 Impala 性能优化:从数据压缩到分析加速(下)(8/30)

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

信息学奥赛一本通 1395:烦人的幻灯片(slides)

【题目链接】 ybt 1395&#xff1a;烦人的幻灯片(slides) 【题目考点】 1. 图论&#xff1a;拓扑排序 【解题思路】 先理解题意&#xff1a; 如图&#xff0c;每张幻灯片是一个矩形&#xff0c;在该矩形范围内有一个位置写了这张幻灯片的编号。但实际情况是幻灯片是透明…

DB-GPT系列(三):底层大模型设置(开源模型、在线模型)

前面两篇文章分别对 DB-GPT 的总体情况进行了介绍&#xff0c;同时涵盖了镜像一键部署与源码部署这两种部署方式。 DB-GPT系列&#xff08;一&#xff09;&#xff1a;DB-GPT能帮你做什么&#xff1f; DB-GPT系列&#xff08;二&#xff09;&#xff1a;DB-GPT部署&#xff0…

有没有想过Java和其他编程语言集成使用,快来了解一下!!!

Java 与其他编程语言的集成可以通过多种方式进行&#xff0c;每种方法都有其特定的适用场景和优缺点。以下是几种常见的集成方法&#xff0c;包括详细的示例和解释&#xff1a; 1. JNI (Java Native Interface) 简介 JNI 是 Java 平台提供的一个标准接口&#xff0c;允许 Ja…

LabVIEW配电产品精度测试系统

开发了一种基于LabVIEW平台的配电产品精度测试系统&#xff0c;通过自动化测试流程实现更高的测试准确性与效率。系统采用串口和TCP通信技术&#xff0c;与多功能交流采样变送器和配电设备无缝数据交互&#xff0c;提升了测试工作的可靠性和一致性。 一、项目背景 在配电产品…

如何在 Ubuntu 16.04 上使用 UFW 设置防火墙

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 简介 UFW&#xff08;Uncomplicated Firewall&#xff09;是一个面向简化配置防火墙过程的 iptables 接口。虽然 iptables 是一个稳定且…

印刷质量检测笔记

一、印刷质量检测的背景与挑战 印刷品的质量检测&#xff0c;特别是针对高精度要求的印刷产品&#xff0c;如包装材料、标签、书籍封面等&#xff0c;一直是制造业中的一个关键环节。印刷品可能存在的质量问题多种多样&#xff0c;包括但不限于颜色偏差、文字模糊、漏印、多印…

详解Java之Spring MVC篇二

目录 获取Cookie/Session 理解Cookie 理解Session Cookie和Session的区别 获取Cookie 获取Session 获取Header 获取User-Agent 获取Cookie/Session 理解Cookie HTTP协议自身是“无状态”协议&#xff0c;但是在实际开发中&#xff0c;我们很多时候是需要知道请求之间的…

【大数据学习 | kafka】kafka的偏移量管理

1. 偏移量的概念 消费者在消费数据的时候需要将消费的记录存储到一个位置&#xff0c;防止因为消费者程序宕机而引起断点消费数据丢失问题&#xff0c;下一次可以按照相应的位置从kafka中找寻数据&#xff0c;这个消费位置记录称之为偏移量offset。 kafka0.9以前版本将偏移量信…

RabbitMQ 管理平台(控制中心)的介绍

文章目录 一、RabbitMQ 管理平台整体介绍二、Overview 总览三、Connections 连接四、Channels 通道五、Exchanges 交换机六、Queues 队列查看队列详细信息查看队列的消息内容 七、Admin 用户给用户分配虚拟主机 一、RabbitMQ 管理平台整体介绍 RabbitMQ 管理平台内有六个模块&…