【Git】深入了解Git及其常用命令

🥳🥳Welcome Huihui's Code World ! !🥳🥳

接下来看看由辉辉所写的关于Git的相关操作吧 

目录

🥳🥳Welcome Huihui's Code World ! !🥳🥳

 一.Git是什么

二.SVN和Git的区别

三.Git的常用命令

1.Git的详细安装步骤

①下载Git

②安装

​         ③注册/登录

④创建仓库

⑤创建文件夹用于存放项目

2.使用步骤及命令

 Git 全局设置

创建 git 仓库

将文件交于git管理

创建文件

将文件给git管理

将文件上传到本地仓库

将文件上传到远程仓库

绑定远程仓库

将文件推送到远程仓库

将文件从远程仓库中下载

四.Git命令背后的原理


 一.Git是什么

        Git是一个分布式版本控制系统,它被广泛应用于软件开发中,用于跟踪文件的改变以及协调多人在同一个项目上的工作。通过Git,开发人员可以有效地管理和控制代码的版本,以便更好地协作、追踪变更、解决冲突,并且可以轻松地回溯到任何历史版本。

        与集中式版本控制系统不同,Git的分布式架构使得每个开发者都拥有一份完整的代码仓库,可以独立地进行工作和提交修改。这种特性使得Git在处理大型项目和远程团队协作方面表现出色。

二.SVN和Git的区别

  • 集中式vs分布式:

    • SVN是一种集中式版本控制系统,所有的代码都存储在中央服务器上,开发者需要从中央服务器检出代码,然后提交修改
    • Git是一种分布式版本控制系统,每个开发者都拥有完整的代码仓库,可以独立进行工作和提交修改,无需依赖中央服务器。

下面这张图也许能够更加清晰的看出它们的区别

  • 历史记录存储方式:

    • Git将历史记录作为文件内容的快照来保存,这使得Git能够更高效地处理分支和合并。
    • SVN则是按文件的变化来存储历史记录,这可能导致在处理大型项目或者频繁的分支合并时性能下降。
  • 分支和合并:

    • 在Git中,分支和合并是非常轻量级且强大的,开发者可以轻松地创建、合并和管理分支,因此使用分支进行并行开发是很常见的
    • SVN的分支和合并相对复杂,需要谨慎操作,并且通常需要与中央服务器进行交互。
  • 工作方式

三.Git的常用命令

1.Git的详细安装步骤

①下载Git

官网下载地址icon-default.png?t=N7T8https://git-scm.com/downloads

②安装

傻瓜式的下一步下一步,这里就不过多讲述了

③注册/登录

④创建仓库

⑤创建文件夹用于存放项目

2.使用步骤及命令

 在了解命令之前,我们也可以先熟悉一下git的工作流程,下面这张图足够我们熟悉使用git的流程了,大家可以先看这张图,在去看下方的命令操作

 Git 全局设置

git config --global user.name "wanghui19"
git config --global user.email "13682107+wanghui19@user.noreply.gitee.com"

创建 git 仓库

mkdir huihui

将文件交于git管理

git init

创建文件

touch README.md

将文件给git管理

git aad .
//这个点是代表所有文件的意思 后面也可以直接跟上具体的文件名

将文件上传到本地仓库

git commit -m "对于上传的文件的备注"

将文件上传到远程仓库

绑定远程仓库
git remote add origin https://gitee.com/wanghui19/huihui.git
将文件推送到远程仓库
git push -u origin "master"

将文件从远程仓库中下载

git clone +仓库的远程地址

四.Git命令背后的原理

1.git init

  • 这个命令用于初始化一个新的Git仓库。在背后,Git会在当前目录下创建一个名为.git的子目录,用来存储版本库的相关信息,包括对象数据库、配置文件等

2.git add

  • 这个命令用于将文件的当前状态添加到暂存区(Index)。在背后,Git会更新暂存区域的内容,将待提交的更改暂时保存起来。

3.git commit

  • 这个命令用于将暂存区的内容提交到版本库中。在背后,Git将暂存区中的内容作为一个新的快照存储到版本库中,同时记录提交者、提交时间等相关信息。

4.git branch / git checkout / git merge

  • 这些命令用于分支的创建、切换和合并操作。在背后,Git通过指针的方式管理分支,创建分支只是简单地增加一个新的指针,切换分支只是将HEAD指针指向不同的分支,而合并操作则会将不同分支的提交合并到一起。

5.git pull / git push

  • 这些命令用于从远程仓库获取更新并合并到本地分支,以及将本地提交推送到远程仓库。在背后,Git通过远程引用(remote reference)来实现远程操作,它们是指向远程仓库的引用,类似于本地分支的指针

好啦,今天的分享就到这了,希望能够帮到你呢!😊😊 

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

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

相关文章

通过SD卡给某摄像头植入可控程序

0x01. 摄像头卡刷初体验 最近研究了手上一台摄像头的sd卡刷机功能,该摄像头只支持fat32格式的sd卡,所以需要先把sd卡格式化为fat32,另外微软把fat32限制了最大容量32G,所以也只能用不大于32G的sd卡来刷机。 这里使用32G的sd卡来…

docker-compose安装es以及ik分词同义词插件

目录 1 前言 2 集成利器Docker 2.1 Docker环境安装 2.1.1 环境检查 2.1.2 在线安装 2.1.3 离线安装 2.2 Docker-Compose的安装 2.2.1 概念简介 2.2.2 安装步骤 2.2.2.1 二进制文件安装 2.2.2.2 离线安装 2.2.2.3 yum安装 3 一键安装ES及Kibana 3.1 yml文件的编写…

【Redis系列】Redis的核心命令(上)

哈喽,大家好,我是小浪。那么上篇博客教会了大家如何在Linux上安装Redis,那么本篇博客就要正式开始学习Redis啦,跟着俺的随笔往下看~ 1、启动Redis 那么如何启动Redis呢?最常用的是以下这个命令: redis-cl…

堆的应用-----Top k 问题

目录 前言 Topk问题 1.问题描述 2.解决方法 3.代码实现(C/C) 前言 在人工智能算法岗位的面试中,TopK是问得最多的几个问题之一: 到底有几种方法? 这些方案里蕴含的优化思路究竟是怎么样的? 为啥T…

如何用Excel软件制作最小二乘法①

一、用自带的选项(不推荐),因为感觉只是近似,虽然结果一样 1.在Excel中输入或打开要进行在excel中输入或打开要进行最小二乘法拟合的数据,如图所示。 2.按住“shift”键的同时,用鼠标左键单击以选择数据&a…

电路综合-基于简化实频的SRFT集总参数切比雪夫低通滤波器设计

电路综合-基于简化实频的SRFT集总参数切比雪夫低通滤波器设计 6、电路综合-基于简化实频的SRFT微带线切比雪夫低通滤波器设计中介绍了使用微带线进行切比雪夫滤波器的设计方法,在此对集总参数的切比雪夫响应进行分析。 SRFT集总参数切比雪夫低通滤波器综合不再需要…

typora保护机制与注册逆向分析

、起因 一直比较喜欢Typora的简洁与美观(尝试过用 vscode 搭配插件编辑 markdown 文件,体验还是要差一些的),突然发现自己windows机器上很久前安装的typora不让用了,提示: 幸好原始安装文件还在&#xf…

ASP.NETWeb开发(C#版)-day1-C#基础+实操

目录 .NET实操:创建项目执行 C#基础语法数据类型变量实操001_变量如何在一个解决方案 中创建另一个项目实操002结构实操003-if else实操004-多分支多行注释按钮实操:循环 面向对象基础如何在同一个项目下创建新的.cs文件实操-类的定义与访问实操-练习实操…

55基于matlab的1.高斯噪声2.瑞利噪声3.伽马噪声4.均匀分布噪声5.脉冲(椒盐)噪声

基于matlab的1.高斯噪声2.瑞利噪声3.伽马噪声4.均匀分布噪声5.脉冲(椒盐)噪声五组噪声模型,程序已调通,可直接运行。 55高斯噪声、瑞利噪声 (xiaohongshu.com)

深度解剖Linux权限的概念

> 作者简介:დ旧言~,目前大二,现在学习Java,c,c,Python等 > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:牢记Linux权限的概念。 > 毒鸡汤:你…

短视频矩阵seo系统源码搭建----技术定制化开发

一、需要遵循一下技术开发步骤: 1. 确定需求和功能:明确系统的主要目标和需要实现的功能,包括关键词研究、短视频制作、外链建设、数据分析、账号设置优化等方面。 2. 设计系统架构:根据需求和功能确定系统的架构,包…

windows上 Nexus 批量上传 maven依赖npm依赖

windows上 Nexus 批量上传 maven依赖/npm依赖 前言:windows系统上要有git环境,不然sh文件执行不了 1.批量上传maven依赖 设置脚本,把脚本放在依赖包的根目录执行,脚本名为upload.sh #!/bin/bash# 定义变量 while getopts &quo…

小程序中如何设置门店信息

小程序是商家转型升级的利器,小程序中门店信息的准确性和完整性对于用户的体验和信任度都有很大的影响。下面具体介绍门店信息怎么在小程序中进行设置。 在小程序管理员后台->门店设置处,可以门店设置相关。主要分为2个模块,一个是门店级…

智能一体化管网水位监测仪怎么样?

城市排水管网是城市正常运行的关键环节,这是地上和地下通道的连接点,一旦出现问题便会影响城市生命线建设的工程进展。在复杂的地下管道内想要了解水位数据,对于政府部门来讲是一个管理难题。如果可以采取智能产品在其中发挥作用,…

Java Web——前端HTML入门

目录 HTML&CSS3&JavaScript简述 1. HTML概念 2. 超文本 3. 标记语言 4. HTML基础结构 5. HTML基础词汇 6. HTML语法规则 7. VS Code 推荐使用的插件 8. 在线帮助文档 HTML&CSS3&JavaScript简述 HTML 主要用于网页主体结构的搭建,像一个毛坯…

低价寄快递寄件微信小程序 实际商用版 寄快递 低价寄快递小程序(源代码+截图)前后台源码

盈利模式 快递代下CPS就是用户通过线上的渠道(快递小程序),线上下单寄快递来赚取差价,例如你的成本价是5元,你在后台比例设置里面设置 首重利润是1元,续重0.5元,用户下1kg的单页面显示的就是6元…

Go 14岁了

今天我们庆祝Go开源十四周年!Go度过了美好的一年,发布了两个功能齐全的版本和其他重要的里程碑。 我们在2月份发布了Go 1.20,在8月份发布了Go 1.21,更多地关注实现改进而不是新的语言更改。 在Go 1.20中,我们预览了配置…

【论文精读】DMVSNet

今天读的是一篇发表在ICCV 2023上的文章,作者来自华中科技大学。 文章地址:点击前往 项目地址:Github 文章目录 Abstract1 Introduction2 Relative Work3 Motivation3.1 Estimated bias and interpolated bias3.2 One-sided V.S. Saddle-shap…

Android修行手册-POI操作Excel实现超链接并且变为蓝色

点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册点击跳转>Scratch编程案例点击跳转>软考全系列 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&…

黑洞路由的几种应用场景

第一种在内网中产生环路: 这种核心交换机上肯定写一条默认路由 0.0.0.0 0 10.0.0.1 出口路由要写一条192.168.0.0 16 10.0.0.2 如果出口路由访问一条不存在的内网网段,又或者访问的那台终端停机了,那就会产生三层环路,数据包在…