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

news2024/11/24 18:53:29

🥳🥳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.coloradmin.cn/o/1189334.html

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

相关文章

[Vue warn]: Missing required prop: “action“

控制台显示错误信息 vue.runtime.esm.js:4605 [Vue warn]: Missing required prop: "action" found in ---> <ElUpload> at packages/upload/src/index.vue <ElTableRow> <ElTableBody> <ElTable> at pack…

2023年开发语言和数据库排行

2023年开发语言和数据库排行 一、开发语言相关1. Python1.1 Python优点1.2 Python缺点1.3 Python应用领域 2. C 语言2.1 C 语言优点2.2 C 语言缺点2.3 C语言应用领域 3. Java3.1 Java 优点3.2 Java缺点3.3 Java应用场景 4. C4.1 C 优点4.2 C 缺点4.3 C 应用场景 5. C#5.1 C# 优…

金蝶云星空二开单据明细按钮绑定了权限项但是没控制到权限的问题排查

文章目录 金蝶云星空二开单据明细按钮绑定了权限项但是没控制到权限的问题排查明细按钮&#xff1a;行关闭和行反关闭&#xff0c;分别绑定了SCM_ROWCLOSE和SCM_ROWUNCLOSE解决方案 金蝶云星空二开单据明细按钮绑定了权限项但是没控制到权限的问题排查 明细按钮&#xff1a;行…

ros1 实现Server端自定义四 Topic模式控制海龟运动

一、服务模型 Server端本身是进行模拟海龟运动的命令端&#xff0c;它的实现是通过给海龟发送速度&#xff08;Twist&#xff09;的指令&#xff0c;来控制海龟运动&#xff08;本身通过Topic实现&#xff09;。 Client端相当于海龟运动的开关&#xff0c;其发布Request来控制…

深入理解强化学习——多臂赌博机:梯度赌博机算法的基础知识

分类目录&#xff1a;《深入理解强化学习》总目录 到目前为止&#xff0c;我们已经探讨了评估动作价值的方法&#xff0c;并使用这些估计值来选择动作。这通常是一个好方法&#xff0c;但并不是唯一可使用的方法。我们针对每个动作 a a a考虑学习一个数值化的偏好函数 H t ( a …

Netty入门指南之NIO 粘包与半包

作者简介&#xff1a;☕️大家好&#xff0c;我是Aomsir&#xff0c;一个爱折腾的开发者&#xff01; 个人主页&#xff1a;Aomsir_Spring5应用专栏,Netty应用专栏,RPC应用专栏-CSDN博客 当前专栏&#xff1a;Netty应用专栏_Aomsir的博客-CSDN博客 文章目录 参考文献前言问题产…

电脑篇——本地串口转TCP,TCP转虚拟串口,网络调试助手,串口调试助手

TCP/UDP工具、串口工具 https://pan.baidu.com/s/1SY03d_RRVhyOZfsPlApmxg?pwd5555 今日有个需求&#xff0c;就是在本机电脑上接了一个串口设备&#xff0c;然后我的QtCreator是在内网远程电脑运行的&#xff0c;我想将串口设备“挂载”到远程电脑上去调试程序&#xff0c;于…

【Mysql】增删改查(基础版)

我使用的工具是Data Grip &#xff08;SQLyog Naivact 都行&#xff09; 使用Data Grip创建student表&#xff0c;具体步骤如下&#xff08;熟悉Data Grip或者使用SQLyog&#xff0c;Naivact可以跳过&#xff09; https://blog.csdn.net/m0_67930426/article/details/13429…

金蝶云星空下游单据的操作控制上游单据的状态转换开发方案

文章目录 金蝶云星空下游单据的操作控制上游单据的状态转换开发方案说明方案设计开发实现售后单增加变更状态反写规则反写状态&#xff1a;在保存配置了反写状态保存后删除&#xff0c;反写规则不生效&#xff0c;需要在删除操作配置插件根据关联关系进行反写生效操作&#xff…

如何实现云端开发能力快速提升?【DevRun】云上开发创新实践带你实现

随着企业数字化的转型趋势&#xff0c;软件成为数字化转型的关键驱动力&#xff0c;在云计算越来越普及且作用愈发重要的今天&#xff0c;现代应用正以难以想象的速度在增长&#xff0c;同时对软件开发工具提出了新的要求。 华为云CodeArts作为一站式云上开发创新工具&#xf…

从零开始:PRD产品需求文档怎么写

产品需求文档&#xff08;PRD&#xff09;是所有产品开发项目的关键环节&#xff0c;它的主要职责是传递关于即将开发的产品的所有核心信息给团队。作为一名Pixso设计师&#xff0c;我们清楚这个过程可能显得复杂和耗费精力&#xff0c;但这并不意味着我们不能让它变得更为简洁…

国产猫罐头可以长期作为主食吗?我家的优质TOP的猫罐头分享

我最近一直在调查国产猫罐头可以长期作为主食吗&#xff1f;看看我的购物订单&#xff0c;我已经尝试了几十款了。今天&#xff0c;我想和大家分享一些关于国产猫罐头的经验和见解。 近年来&#xff0c;国产宠粮市场取得了突破性的进展&#xff0c;各个猫粮商在配方、营养数据…

pinpoint监控tomcat应用,页面显示No data collected

pinpoint安装部署教程大家都可以搜到。这里就不说了。单说一下 页面没有数据的情况。 部署环境&#xff0c;pinpoint安装部署在A服务器上。现在是在C、D、E、F……linux机器上安装pinpoint-agnet 1. 将文件 pinpoint-agent-1.8.5.tar.gz 上传到 服务器C、D、E、F…… 2. 解压…

解决IDEA使用卡顿的问题

*问题&#xff1a;使用IDEA的时候卡顿 原因&#xff1a;IDEA默认分配的内存有上限 **可以查看内存分配情况及使用情况__ 解决&#xff1a; 设置JVM的启动参数&#xff1a; 进入idea的安装目录的bin文件夹 -Xms1024m -Xmx2048m -XX:ReservedCodeCacheSize1024m -XX:UseG1G…

洋子带你赚钱,粉丝有奖任务来啦,最高拿90京东卡

大家好&#xff0c;我是洋子&#xff0c;前段时间CSDN联合阿里云发布了免费试用3种 云服务器的活动任务&#xff0c;每完成一个任务就可以拿到30京东卡&#xff0c;3个任务互相独立&#xff0c;如果3个任务全部完成就可以拿到90京东卡 任务奖励 参与体验大概十几分钟&#xf…

JS点击图片指定对象变色两种方法

要求&#xff1a;点击上面的颜色实现下面的图像变成相同的颜色 难点&#xff1a;对于js函数的this对象不太清楚如何传递 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>changeColor</title>&l…

Redis注解式开发并整合ssm项目以及击穿,穿透和雪崩的介绍及解决方案

目录 一. Redis整合ssm项目 1.1 pom配置 1.2 spring-redis.xml ①注册一个redis.properties ②配置数据源 ③连接工厂 ④配置序列化器 ⑤配置redis的key生成策略 1.3 applicationContext.xml 中添加spring-redis.xml 二. Redis的注解式开发 2.1 Cacheable 2.2 CachePut …

leetcode刷题日记:100.Same Tree(相同的树)和101.Symmetric Tree(对称二叉树)

100.Same Tree(相同的树) 题目给了我们两棵树要我们判断这两颗树是否相同&#xff0c;我首先想到的就是前序序列与中序序列可以唯一确定一棵树&#xff0c;如果我能分别确定这两棵树的前序序列与中序序列&#xff0c;然后再分别比较它们的前序序列与中序序列就能得到这两棵树是…

猫罐头怎么选?千万别错过这5款好吃放心的猫罐头推荐!

猫罐头不仅美味可口&#xff0c;而且营养丰富&#xff0c;是专为猫咪打造的美食。那么&#xff0c;猫罐头怎么选&#xff1f;作为一位经营宠物店7年的店长&#xff0c;我对猫猫的饮食都非常重视&#xff0c;也见证了很多猫咪品尝各种猫罐头的瞬间&#xff0c;现在我对各个品牌的…

STK 根据六根数文件导出星下点(二)

利用给定的六根数数据&#xff0c;生成星下点数据 首先在STK中建立卫星对象 建立成功后&#xff0c;在Satellite1中设置Properties ,输入六根数数据 使用如下参数&#xff1a; propagator&#xff08;轨道&#xff09;&#xff1a;TwoBody&#xff08;开普勒&#xff09; st…