Git【入门】从安装到会用(千字总结●超详细)

我的个人主页☆光之梦☆_C语言基础语法(超详细),【java入门】语法总结-CSDN博客

创作不易,如果能帮到你就好

注:你的 👍点赞 ⭐收藏 📝评论   是对博主最大的支持与鼓励喔

认真看完这篇文章,保你会用(不会来找我)…… 

目录

Git使用

一、Git介绍

1.1 版本控制(理解)

1.2 开发中存在的问题(理解)

1.3 SVN版本控制(理解)

1.4 Git与SVN对比

二、Git下载和安装

2.1 Git的下载

2.2 Git的安装

2.3 TortoiseGit的安装

三、Git操作入门

3.1 Git 基本工作流程(理解)

3.2 Git 常用命令

3.3 Git 基本工作流程

3.4 Git使用图形化工具来操作(理解)

四、Git版本管理

4.1 历史版本切换(理解)

4.2 分支管理介绍(理解)

4.3 分支管理操作


Git使用

一、Git介绍

1.1 版本控制

无论是代码编写,还是文档编写,我们都会遇到对文档内容反复修改的情况

但我们不能只保留最后一次修改的文件,其余版本也要保留,有可能老板想要的就是你的上一个版本的

1.2 开发中存在的问题

  • 程序员小明负责的模块就要完成了,就在即将提交发布之前的一瞬间,电脑突然蓝屏,硬盘光荣下岗!

几个月来的努力付之东流

代码备份不仅要备份到本地,还需要备份到云端

要是电脑坏了,那所以的代码全都白写了

  • 老王需要在项目中加入一个很复杂的功能,一边尝试,一边修改代码,就这样摸索了一个星期。 可是这被改得面目全非的代码已经回不到从前了。

版本控制很重要!

  • 小明和老王先后从文件服务器上下载了同一个文件

协同工作也很重要!

  • 因项目中Bug过多,导致项目进度拖延,项目经理老徐因此被骂,但不清楚Bug是手下哪一个程序员写的

责任追溯很重要!

1.3 SVN版本控制(理解)

SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而开发人员工作的时候,用的都是自己的电脑, 所以首先要从中央服务器下载最新的版本,然后开发,开发完后,需要把自己开发的代码提交到中央服务器。

  • 服务器单点故障

    将会导致所有人员无法工作

  • 而服务器硬盘损坏

    这意味着,你可能失去了该项目的所有历史记录,这是毁灭性的。

1.4 Git与SVN对比

Git是在2005年,Linux系统的创建者Linus Torvalds,为了帮助全球的开发者,维护Linux系统内核的开发 而开发了自己的开源分布式版本控制工具,分为两种类型的仓库:本地仓库和远程仓库。

  • 每一个客户端都保存了完整的历史记录

    服务器的故障,都可以通过客户端的记录得以恢复。

二、Git下载和安装

2.1 Git的下载

官网下载地址:Git - Downloads

2.2 Git的安装

  1. 双击安装包,进入安装向导界面

  2. 指定安装目录

  1. 一路next下一步,等待安装

  1. 安装完成

Git Bash:Git提供的命令行工具

Git GUI: Git提供的图形界面工具

Git CMD 就像带有 git 命令的常规 Windows 命令提示符。 它允许您通过命令行使用所有 Git 功能。

  1. 运行Git命令客户端,使用git --version 命令,可以查看git版本

2.3 TortoiseGit的安装

TortoiseGit:图形化工具

搜索TortoiseGit进官网下载

再下载一个对应的:TortoiseGit-LanguagePack

  1. 双击安装包,进入安装向导界面

  2. 一路next下一步

  3. 指定安装目录

  4. 安装

  5. 配置

注:这些能显示出来就表示设置好啦 

安装TortoiseGit中文语言包,一路next即可

  1. 配置TortoiseGit中文语言

显示为中文就表示设置好啦

三、Git操作入门

3.1 Git 基本工作流程(理解)

本地仓库

先在工作目录(Working Tree)中写代码,然后再通过git命令把代码添加到暂存区(index)中,最后把写好的代码提交到本地历史仓库中

3.2 Git 常用命令

命令作用
git init初始化,创建 git 仓库
git status查看 git 状态 (文件是否进行了添加、提交操作)
git add 文件名添加,将指定文件添加到暂存区
git commit -m '提交信息'提交,将暂存区文件提交到历史仓库
git log查看日志( git 提交的历史日志)

3.3 Git 基本工作流程

步骤:

  1. 创建工作目录、初始化本地 git 仓库

  2. 新建一个 test. txt 文件(暂不执行添加操作)

  3. 使用 status 命令,查看状态

  4. 使用 add 命令添加,并查看状态

  5. 使用 commit 命令,提交到本地历史仓库

  6. 使用 log 命令,查看日志

  7. 修改 test. txt 文件

  8. 添加并提交,查看日志

commit 会把暂存区中所有的文件全部添加到本地仓库中

操作步骤

  1. 创建工作目录、初始化本地 git 仓库

  2. 新建一个 test.txt 文件(暂不执行添加操作)

  3. 使用 status 命令,查看状态

  4. 使用 add 命令添加,并查看状态

  5. 使用 commit 命令,提交到本地历史仓库

  6. 使用 log 命令,查看日志

  7. 修改 test.txt 文件

  8. 添加并提交,查看日志

3.4 Git使用图形化工具来操作(理解)

  1. 创建工作目录、初始化本地 git 仓库

  2. 新建一个 test.txt 文件(暂不执行添加操作)

  3. 选中文件右键,选择TortoiseGit,之后选择添加

  4. 空白处右键,Git提交,提交到本地历史仓库

  5. 空白处右键,TortoiseGit,显示日志,可以产看日志信息

  6. 修改 test.txt 文件

  7. 添加并提交,查看日志

四、Git版本管理

4.1 历史版本切换

  • 准备动作

    1. 查看 my_project 的 log 日志 git reflog :可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录的操作)

    2. 增加一次新的修改记录

  • 需求: 将代码切换到第二次修改的版本

    指令:git reset --hard 版本唯一索引值

4.2 分支管理介绍

分支在干活时并行工作,互不打扰,最终能合并到一起

  • 分支

    • 由每次提交的代码,串成的一条时间线

    • 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线

  • 分支的使用场景

    1. 周期较长的模块开发 假设你准备开发一个新功能,但是需要一个月才能完成 第一周写了20%的代码,突然发现原来已经写好的功能出现了一个严重的Bug 那现在就需要放下手中的新功能,去修复Bug 但这20%的代码不能舍弃,并且也担心丢失,这就需要开启一个新的版本控制。

    2. 尝试性的模块开发 业务人员给我们提出了一个需求,经过我们的思考和分析 该需求应该可以使用技术手段进行实现。 但是我们还不敢确定,我们就可以去创建一个分支基于分支进行尝试性开发。

  • 分支工作流程

    • Master: 指向提交的代码版本

    • Header: 指向当前所使用的的分支

主分支:Master

当你提交了第一个代码版本,那Master指向的就是第一个版本,提交第二个代码版本,Master指向的就是第二个版本,以此类推

假设Dev这个分支的功能我们实现完了,怎么把这个分支合并到主分支上?

  1. 把Dev提交一次

  2. 再让Master这个指针,指向到Dev当前的时间版本

  3. 然后让header指针指向回Master这个主分支

即可完成合并

如图:

如果你觉得Dev这个分支现在没必要留下来,那么你可以直接把它删了

  1. 创建新分支

  2. 切换分支

  3. 合并分支

  4. 删除分支

4.3 分支管理操作

  • 创建和切换

    创建分支命令:git branch 分支名 切换分支命令:git checkout 分支名

  • 新分支添加文件

    查看当前分支文件命令:ls

  • 合并分支

    合并分支命令:git merge 分支名

  • 删除分支

    删除分支命令:git branch -d 分支名

  • 查看分支列表

    查看分支命令:git branch

总结:不同分支之间的关系是平行的关系,不会相互影响

git 本地仓库

恭喜你,已经全部看完啦👍👍👍

关于git部分的讲解就到这啦

剩下关于GitHub的使用部分请跳转至我的这篇文章:

如果有问题随时都可以来问我,我会随时为您解答!欢迎大家与我一起学习,共同进步。 

 tip:如果你看完了这篇文章,还给我点了一个小关注的话,记得来后台私信我哦,我会免费分享给你一份超棒的github主页美化教程+可以直接套模版的主页文件哦(瞬间让你的github主页的规格提升一个档次)

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

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

相关文章

修手机 关闭位置服务器,遇到这几点要慎重,修手机小心变毁手机

电池!一定要先摘电池! 讲真,感觉2018年的今天咱们的动手能力似乎都提升了不少。举个最简单的例子,天桥底下的“贴膜Boys”是一年比一年少了。最近又刚好遇到了iPhone降频的事儿,不少用户都选择自己买电池自己动手换了。…

亿道信息丨手持PDA丨三防加固手机丨高频RFID丨电商仓库高效管理

近几年来,随着物联网信息化时代的快速发展,作为新兴行业的电商行业可以说成为了时代的新宠儿,据统计,截至2021年底,我国的网购用户达到了恐怖的8.4亿人,网络销售额也突破了12万亿元,这都得益于我…

亿道丨三防手机丨手持终端丨零售行业如何选择手持工业终端设备?

在当今的大数据时代,信息管理模式如雨后春笋般涌现。手持工业终端设备具有数据采集功能、存储、处理、传输等功能广泛应用于物流快递电商、零售、生产制造、医疗卫生、公用事业等行业帮助企业实现无纸化数字化管理,提高效率,降低企业成本。手…

三防手机乐目v9怎么样?

乐目v9是国内某品牌新出的三防机型,2.5米高自由下落无损,1.5米水深浸泡48小时不影响使用,除了三防性能该机同时搭载了主流的四核处理器,不过相应的售价也较高,线上均价1950元左右,如果你是工地或者辛勤劳作…

亿道信息丨5.0英寸手持终端丨手持PDA丨三防手机丨助力便民驿站

随着物联网信息时代和互联网技术的快速发展,电子商务行业迎来了新的高峰期,网上购物也成为了新的热潮,各种电商节也点燃了人们的购物欲望。可以说网购以及影响到人们生活中的方方面面。 网上购物的火爆同样也带动了物流行业的兴起&#xff0…

iOS安全之三攻三防

Qinz 互联网世界每分钟都在上演黑客攻击,由此导致的财产损失不计其数。金融行业在安全方面的重视不断加深,而传统互联网行业在安全方面并没有足够重视,这样导致开发的APP在逆向开发人员面前等同于裸奔,甚至有些小厂前后台在账号密…

三防电子产品美军标MIL-STD-810G

MIL-STD-810标准详尽描述了环境管理和一系列工程实施过程,这对系统的可靠性设计和对环境的适应性设计具有重大价值。该标准包含了军方采购程序计划和工程规范,考虑了环境因素在设备服役周期各个环节对于设备的影响。文档中并没有要求具体的设计或测试规范…

android系统三防机,超机访问:当Android三防附体你如何看

三防手机是一种比较另类的手机。这类手机大多有这“彪悍魁梧”的机身,采用橡胶或者塑料材质的包裹。具有防水、防尘、防摔的特点。这类手机最主要的用途是为了满足特殊工作需求的使用者的需求,比如在户外采矿、勘测、户外探险等特殊专业领域。而随着现在…

小白网络安全学习手册—黑客

1.网络安全是什么 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 2.网络安全市场 一、是市场需求量高; 二、则是发展相对成熟…

详解Anaconda + 如何在Anaconda上更换python版本

详解Anaconda 如何在Anaconda上更换python版本 宇内虹游 2018-10-09 16:02:26 101626 收藏 501 分类专栏: 研二上 每天一道编程题 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。…

Java基础:final、权限、内部类、引用类型

第一章 final关键字 1.1 概述 子类可以在父类的基础上改写父类内容,比如,方法重写。那么我们能不能随意的继承API中提供的类,改写其内容呢?显然这是不合适的。为了避免这种随意改写的情况,Java提供了final关键字&…

docker~全

文章目录 前言docker概念部署docker镜像操作容器常规操作运行容器列出容器删除容器:后台运行终止容器进入容器容器改名容器信息查看容器与宿主机间文件传输 docker网络容器端口暴露bridge模式自定义模式 host模式container模式None 模式 数据共享与持久化数据卷挂载主机目录 do…

python基础笔记二_面向对象

面向对象 Object Oriented 概述 面向过程 1.分析出解决问题的步骤,然后逐步实现。例如:婚礼筹办-- 发请柬(选照片、措词、制作)-- 宴席(场地、找厨师、准备桌椅餐具、计划菜品、购买食材)-- 婚礼仪式&am…

Java研发岗必问30+道高级面试题,java基础笔试面试题以及答案

引言 做了5年开发的我,阿里一直是我心之所向,如今我如愿以偿进入了国内互联网巨头——Alibaba! 其实,今年下半年我面试不少互联网企业,像涂鸦智能,百度,京东,腾讯,字节…

(附源码)ssm失物招领系统 毕业设计 182317

失物招领系统的设计与实现 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对失物招领等问题&…

NodeJS 响应式故宫文化宣传网站计算机毕设源码61557

摘 要 21世纪时信息化的时代,几乎任何一个行业都离不开计算机,将计算机运用于景区文化宣传网站上也是十分常见的。过去使用手工的宣传管理方式对故宫文化宣传进行管理,造成了管理繁琐、难以维护等问题,如今使用计算机对故宫文化宣…

Redis高频面试题汇总(2021最新版)

本文已收录于专栏 ⭐️《Redis面试题汇总——2021最新版本》⭐️ 上千人点赞收藏,全套Redis高频面试题,大厂必备技能! 面试官心理分析 从面试官的角度分析,出这道题的目的是为了考察你对缓存的认知水平,以及结合缓存…

测试技能提升HM-性能测试

性能测试分类 基准测试 狭义上讲:单用户测试(单用户循环多次得到的数据) 广义上讲:建立基准线,当系统的软硬件环境发生变化之后再进行一次基准测试以确定变化对性能的影响 基准测试的用途: 基准测试不会单…

【调试工具|mqtt-spy】mqtt客户端调试工具 mqtt-spy 详细使用教程

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

校园跑腿小程序还受欢迎不?

校园跑腿小程序是如今大学生群体中越来越受欢迎的一种服务模式。它为大学生提供了一个便捷的平台,使他们能够在校园内完成各类生活事务,如购买食品、快递取送、打印复印等。这种形式的服务在过去几年里在全球范围内迅速发展,并取得了巨大的成…