Git的概念、安装、操作与分支管理和图形化界面TortoiseGit(小乌龟 )的安装与使用

目录

一、Git 概述

简介

安装

使用场景

二、Git 操作详解

使用git管理文件版本

使用 Git 管理代码

三、分支操作

使用小乌龟操作分支

创建新的分支

两个分支合并

四、总结


        在当今的软件开发和文档编写等领域,版本控制工具至关重要。Git 作为其中的佼佼者,有着广泛的应用场景。本文将详细介绍 Git 的相关知识,包括其概念、安装、使用场景、远程仓库以及分支操作等内容。

一、Git 概述

简介

 

        Git 是由 Linus Torvalds 创造的分布式版本控制系统。与集中式版本控制系统如 SVN 不同,Git 在每个使用者的电脑上都有完整的版本库,工作时可不联网。多人协作时,各自修改可相互推送。市场上 SVN 和 Git 都较为常用,SVN 集中存放版本库在中央服务器,而 Git 分布式的特点使其更灵活。

SVN是集中式版本控制系统,版本库是集中放在中央服务器的。

        Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。 

安装

        可以从官网下载安装 Git,安装后通过命令行操作。同时也可安装第三方的小乌龟 TortoiseGit 来方便操作,安装后需配置开发者姓名及邮箱,信息会包含在提交中。若忘记设置用户名和邮箱,也有办法重新设置。

1) 安装的Git

 

下载链接:https://git-scm.com/download

下一步下一步安装即可!

安装完之后起始就可以使用了,只是必须使用 命令才能完。

不想学命令,可以直接跳过。可以使用图形化界面。

2) 安装小乌龟 TortoiseGit

 

Tortoise --乌龟的意思,寓意公司千年企业。
这个企业以前做了一个软件:TortoiseSVN

先安装这个:

 

再安装汉化包:

原因是可以在安装小乌龟的时候,选择语言为中文,要不然就是随后再设置:

语言包安装完毕之后,刷新一下,就出现简体中文了。

配置开发者姓名及邮箱,每次提交代码时都会把此信息包含到提交的信息中。

此处写上自己的名字的全拼,邮箱写一个自己经常使用的邮箱

使用默认配置,点击“完成”按钮完成配置。

完整完毕后在系统右键菜单中会出现git的菜单项。

1)Git 是官网给的,必须安装
2)小乌龟是第三方公司开发的,是为了方便使用才安装的,可以不安装

语言包安装完毕后可以在TortoiseGit的设置中调整语言

忘记设置用户名和邮箱了:

使用场景

        不仅开发人员,像项目经理等非开发同事也能使用 Git。在公司中,多数人用 Git 管理代码。项目经理需要做好成本控制并按时保质保量完成任务,而 Git 有助于项目文件的管理和追踪。

二、Git 操作详解

使用git管理文件版本

需求:

假如你自己想使用Git 作为版本控制工具,比如你在写书。

为了防止本地的丢失,误删,或者是为了回看之前的版本,都可以使用Git。

 

1)创建版本库

 

第一种是使用Git原生的命令:

在需要进行版本控制的文件夹中,右键,选择 Git Bash Here

repository 是仓库的意思,本地已经帮你创建了一个本地库

什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。由于git是分布式版本管理工具,所以git在不需要联网的情况下也具有完整的版本管理能力。

第二种是使用小乌龟操作:

 

2)添加文件

 

如果是一个新的文件,选中这个文件,然后右键点击 “添加按钮”,这个文件会进入暂存区

暂存区的内容 再次提交,会进入到本地库中。

说一下原理:

 

3) 修改文件

 

打开文件,修改内容,修改完之后,直接提交即可,没有“添加”功能。

 

4)查看历史

 

可以在文件上点击右键选择“显示日志”来查看文件的修改历史。

 

5) 比较版本的差异

 

比较这个版本和上一个版本的差异:

也可以通过查看日志,选择两个想要比较的版本,进行差异比较:

6) 还原

当文件修改后不想把修改的内容提交,还想还原到未修改之前的状态。此时可以使用“还原”功能。

7)可以回退到某个版本

 

查看历史,选中某个版本,回退回去

Git 可以 将本地的文件上传到本地库,还可以比较两个不同版本的区别,回退到某个历史版本,还可以还原本地的文件等。

 

使用 Git 管理代码

 

1、进入到项目所在的文件夹中,右键 创建本地库

2、选中需要提交的代码文件即可。

三、分支操作

 

使用小乌龟操作分支

 

里面写上一些文件,比如11111111,提交到本地库,实际上提交到master分支。

创建新的分支

在a.txt 中添加了些文字,此时提交的话,是提交的到分支这个里面,主分支并没有发生变化。

如何切换到主分支呢?

在主分支,修改一些文字,提交,相当于是主分支添加了一些文字,从分支也添加了一些文字。

两个分支合并

分支的合并:可以分支合并到主干,也可以主干合并到分支。

假如你想让分支合并到主干,先切换到主干,然后再合并。

有可能会出现冲突的问题,手动解决,再次提交即可。

四、总结

        本文聚焦于 Git 这一关键的版本控制工具。首先阐述了其基本概念,由 Linus Torvalds 打造的 Git 作为分布式版本控制系统,与集中式的 SVN 对比鲜明,它让每个使用者电脑都拥有完整版本库,支持离线工作与多人便捷协作。

        在安装环节,可从官网下载 Git 并通过命令行操作,也可安装小乌龟 TortoiseGit 并配置开发者信息,汉化包安装能切换语言,遗忘设置也可补救。

        操作方面,管理文件版本时,创建版本库有原生命令与小乌龟操作两种途径,添加文件、修改文件、查看历史、比较差异、还原以及回退版本等功能一应俱全。管理代码则是在项目文件夹创建本地库后提交代码文件。

        分支操作上,小乌龟可助力创建新分支,不同分支的提交相互独立,切换与合并分支虽可能产生冲突,但手动处理后即可再次提交。总之,Git 广泛应用于多领域,开发与非开发人员均可受益,为项目文件管理与追踪提供了有力支持。

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

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

相关文章

边缘计算在智能制造中的应用

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 边缘计算在智能制造中的应用 边缘计算在智能制造中的应用 边缘计算在智能制造中的应用 引言 边缘计算概述 定义与原理 发展历程 …

设计模式之装饰器模式(SSO单点登录功能扩展,增加拦截用户访问方法范围场景)

前言: 两个本想描述一样的意思的词,只因一字只差就让人觉得一个是好牛,一个好搞笑。往往我们去开发编程写代码时也经常将一些不恰当的用法用于业务需求实现中,但却不能意识到。一方面是由于编码不多缺少较大型项目的实践&#xff…

使用热冻结数据层生命周期优化在 Elastic Cloud 中存储日志的成本

作者:来自 Elastic Jonathan Simon 收集数据对于可观察性和安全性至关重要,而确保数据能够快速搜索且获得低延迟结果对于有效管理和保护应用程序和基础设施至关重要。但是,存储所有这些数据会产生持续的存储成本,这为节省成本创造…

Node.js事件循环:解锁异步编程的奥秘

Node.js的事件循环是实现高性能、异步编程的关键机制。了解Node.js事件循环的工作原理和使用方法对于开发高效的应用程序至关重要。本文将深入介绍Node.js事件循环的原理、阶段和最佳实践,帮助您充分利用这一强大功能。 Node.js事件循环概述 Node.js事件循环是Node…

Windows docker下载minio出现“Using default tag: latestError response from daemon”

Windows docker下载minio出现 Using default tag: latest Error response from daemon: Get "https://registry-1.docker.io/v2/": context deadline exceeded 此类情况,一般为镜像地址问题。 {"registry-mirrors": ["https://docker.re…

20241114软考架构-------软考案例16答案

每日打卡题案例16答案 16.【2017年真题】 难度:简单 阅读以下关于软件架构评估的叙述,在答题纸上回答问题1和问题2.(共25分) 【说明】 某单位为了建设健全的公路桥梁养护管理档案,拟开发一套公路桥梁在线管理系统。在系统的需求分析与架构设…

使用C语言进行信号处理:从理论到实践的全面指南

1. 引言 在现代操作系统中,信号是一种进程间通信机制,它允许操作系统或其他进程向一个进程发送消息。信号可以用来通知进程发生了一些重要事件,如用户请求终止进程、硬件异常、定时器超时等。掌握信号处理技术对于开发健壮、高效的系统程序至…

7天用Go从零实现分布式缓存GeeCache(学习)(2)

参考:https://geektutu.com/post/geecache-day2.html // Cache 是一个 LRU 缓存(最近最少使用缓存),它不是并发安全的。 type Cache struct { maxBytes int64 // 缓存的最大字节数 nbytes int64 …

【微服务】Docker 容器化

一、初识Docker 1. 为什么需要 Docker 大型项目组件较多,运行环境也较为复杂,部署时会遇到一些问题: 依赖关系复杂,容易出现兼容性的问题开发、测试、生产环境有差异 Docker 如何解决依赖的兼容问题 将应用的Libs(…

curl命令提交大json

有个客户需要提交一个4M左右的pdf,接口里传的是pdf字节流base64编码后的字符串。 直接curl -XPOST -d json串 api接口会报 参数过长报错Argument list too long 网上搜了下解决方案把json串放到文本里然后通过json.txt引入参数 这一试不要紧,差点儿导致…

websocket身份验证

websocket身份验证 前言 上一集我们就完成了websocket初始化的任务,那么我们完成这个内容之后就应该完成一个任务,当客户端与服务端连接成功之后,客户端应该主动发起一个身份认证的消息。 身份认证proto 我们看一眼proto文件的内容。 我…

Scala学习记录,case class,迭代器

case class case class创建的对象的属性是不可改的 创建对象,可以不用写new 自动重写:toString, equals, hashCode, copy 自动重写方法:toString,equals,hashCode,copy 小习一下 1.case class 的定义语法是什么 基本形式:case …

mysql中的EXISTS和NOT EXISTS使用详解

本文来编写一个实例说下mysql中的EXISTS和NOT EXISTS使用详解 文章目录 exists用法SQL中in, not in, exists, not exists的区别使用实例本文小结 exists用法 exists: 如果括号内子查询语句返回结果不为空,说明where条件成立,就会执行主SQL语句。如果括号…

HTB:Precious[WriteUP]

目录 连接至HTB服务器并启动靶机 使用nmap对靶机TCP端口进行开放扫描 使用curl访问靶机80端口 使用ffuf爆破一下子域 使用浏览器访问该域名 使用curl访问该域名响应头 使用exiftool工具查看该pdf信息 横向移动 USER_FLAG:adf5793a876a190f0c08b3b6247cec32…

【论文分享】三维景观格局如何影响城市居民的情绪

本次带来一篇SCI论文的全文翻译!该论文以上海LivingLine项目为例,探索利用时空Wi-Fi数据分析街道层面的城市活力。 【论文题目】Understanding street-level urban vibrancy via spatial-temporal Wi-Fi data analytics: Case LivingLine Shanghai 【题…

大数据面试题--kafka夺命连环问(前15问)

目录 1、kafka消息发送的流程? 2、Kafka 的设计架构你知道吗 3、Kafka 分区的目的? 4、你知道 Kafka 是如何做到消息的有序性? 5、ISR、OSR、AR 是什么? 6、Kafka 在什么情况下会出现消息丢失? 7、怎么尽可能保…

scala 迭代更新

在Scala中,迭代器(Iterator)是一种用于遍历集合(如数组、列表、集合等)的元素而不暴露其底层表示的对象。迭代器提供了一种统一的方法来访问集合中的元素,而无需关心集合的具体实现。 在Scala中&#xff0c…

比ChatGPT更酷的AI工具

相较于寻找比ChatGPT更酷的AI工具,这听起来似乎是个挑战,因为ChatGPT已经以它强大的综合性能在AI界大名鼎鼎。然而,每个工具都有其独特的优势,特别是在特定的应用场景下,其他AI工具可能会展现出与ChatGPT不同的魅力。接…

[极客大挑战 2019]Upload 1

[极客大挑战 2019]Upload 1 审题 看到是一个文件上传类题型。 知识点 一句话木马的注入 知识点详解 一句话木马的原理 eval()函数会将参数作为PHP代码进行执行,因此通过eval()函数中的参数v提交要执行的代码即可完成漏洞利用。语句中的符号作用是可以屏蔽函数…

Redis缓存雪崩、击穿、穿透技术解析及解决方案

在使用 Redis 缓存时,经常会遇到一些异常问题。 概括来说有 4 个方面: 缓存中的数据和数据库中的不一致;缓存雪崩;缓存击穿;缓存穿透。 关于第一个问题【缓存中的数据和数据库中的不一致】,在之前的文章…