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,一经查实,立即删除!

相关文章

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

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

力扣: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…

LabVIEW配电产品精度测试系统

开发了一种基于LabVIEW平台的配电产品精度测试系统&#xff0c;通过自动化测试流程实现更高的测试准确性与效率。系统采用串口和TCP通信技术&#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 管理平台内有六个模块&…

推荐一款强大的图像处理软件:Adobe Photoshop2025

AdobePhotoShop赛博日落版是一款强大的图像处理软件&#xff0c;专为用户提供多种先进的图像编辑功能。该版本包含了最新的AI移除工具、AI查找干扰功能以及Neural Filters神经滤镜插件&#xff0c;旨在提升用户的创作效率和成品效果。 主要功能 - AI创意填充&#xff1a;该功能…

PC模块静电放电测试中的宕机黑屏

静电放电(ESD)是电子设备中常见且难以避免的干扰源之一,尤其是在复杂的电子系统中,它对系统的稳定性和可靠性影响极大。近期,在进行静电放电(6KV接触放电、15KV空气放电)测试时,某P C模块在多个端子(如USB、RJ45、HDMI及耳机端子)遭遇了显示黑屏、图像异常及系统宕机…

吴恩达深度学习笔记:卷积神经网络(Foundations of Convolutional Neural Networks)4.7-4.8

目录 第四门课 卷积神经网络&#xff08;Convolutional Neural Networks&#xff09;第四周 特殊应用&#xff1a;人脸识别和神经风格转换&#xff08;Special applications: Face recognition &Neural style transfer&#xff09;4.7 深度卷积网络学习什么&#xff1f;&am…

适用于个人或团队的文档管理和知识库系统,NAS快速部署『BookStack』

适用于个人或团队的文档管理和知识库系统&#xff0c;NAS快速部署『BookStack』 哈喽小伙伴们好&#xff0c;我是Stark-C~ 知识库对于很多需要和文字打交道的个人或者团队都不陌生对吧&#xff1f;对于我们个人来说&#xff0c;它可以将常用的学习资料、工作笔记、项目计划和…

并发编程的基础:深入理解内存屏障(Memory Barriers)

内存屏障是一种基础语言&#xff0c;在不同的计算机架构下有不同的实现细节。本文主要在x86_64处理器下&#xff0c;通过Linux及其内核代码来分析和使用内存屏障 对大多数应用层开发者来说&#xff0c;“内存屏障”&#xff08;memory Barrier&#xff09;是一种陌生&#xff…

Windows转Mac过渡指南

最近由于工作原因开始使用mac电脑&#xff0c;说实话刚拿到手的时候&#xff0c;window党表示真的用不惯。坚持用一下午之后&#xff0c;发现真的yyds&#xff0c;这篇文章说说mac电脑的基本入门指南。 1. 不会使用mac的触摸板&#xff0c;接上鼠标发现滚轮和windows是反的。 …

poi excel数据统计导出

##poi excel导出案例 1.ajxa导出请求没有任何反应&#xff0c;打断点看了workBook中也有数据&#xff0c;网上查阅说ajax请求导出无法接收流&#xff0c;换成location.href,果然可以了 2.控制器代码 response.setCharacterEncoding("UTF-8");response.setContentTyp…

昆仑通态触摸屏-如何完成几个窗口的切换

一、启动窗口 想要哪一个窗口是启动时第一个显示的&#xff0c;就把谁设置为启动窗口就可以。 二、公共窗口 给一个窗口命名为公共窗口 然后选择一个窗口&#xff0c;将他的公共窗口设置为我们刚才命名的那个窗口 三、页面切换 页面切换&#xff0c;是通过在公共窗口内设置按…

dns服务器配置

主服务器 1.挂载点 mount /dev/sr0 /mnt 2.防火墙关闭 systemctl stop firewalld setenforce 0 3.下载bind软件 dnf install bind -y 4.进行正向解析配置 vim /etc/named.conf options { listen-on port 53 { 192.168.92.128; }; directo…