【Java】Java核心 78:Git 教程(1)Git 概述

news/2025/1/3 2:57:03/

文章目录

        • 01.GIT概述
          • 目标
          • 内容
          • 小结
        • 02.GIT相关概念
          • 目标
          • 内容
          • 小结


在这里插入图片描述

01.GIT概述

Git是一个分布式版本控制系统,常用于协同开发和版本管理的工具。它可以跟踪文件的修改、记录历史版本,并支持多人协同工作。通过Git,你可以轻松地创建和切换分支、合并代码、回滚修改等操作。

以下是Git一些常用的命令和功能:

git init: 在当前目录初始化一个新的Git仓库。
git clone [URL]: 克隆(下载)远程仓库到本地。
git status: 查看工作区和暂存区的状态。
git add [file]: 将文件添加到暂存区。
git commit -m "message": 提交暂存区的文件变更,创建一个新的版本。
git push: 将本地分支上的提交推送到远程仓库。
git pull: 从远程仓库拉取最新的代码到本地分支。
git branch: 查看分支列表。
git checkout [branch]: 切换到指定分支。
git merge [branch]: 将指定分支的代码合并到当前分支。
git log: 查看提交日志历史。
git diff: 查看文件的修改差异。
git stash: 暂存当前工作区的修改,方便切换分支或恢复之后再应用修改。
目标
  • 说出GIT的作用以及特点
内容
  • Git是目前世界上最先进的分布式文件版本控制系统(没有之一)

  • 版本控制 所谓的版本控制就是将一组文件的改动记录下来,形成版本历史,以便需要时恢复

  • GIT作用

    • 代码共享

      每位开发者可以使用Git将自己的代码上传到云服务器上,同时使用Git还可以将其他人上传的代码下载到自己的电脑上,这样就实现了代码共享

在这里插入图片描述

  • 回溯版本

    在开发的过程中其实还会遇到各种奇葩问题,比如自己心血来潮写了一段超级牛×的代码,本着闲着也是闲着的思想,在这段代码的基础上又进行了调优,但是优没调成,代码还给整的不能用了。鉴于马上要要交活了,这个时候就打算放弃,但是你发现原来能用的代码已经被改的面目全非,不能用了,那这就太让人崩溃了。这个时候就幻想着如果这两小时什么事情都没有发生该多好,如果能时间倒流该多好。Git告诉你,这事我能做。Git除了可以帮我们保存代码,还可以保存每次上传的痕迹,每上传一次就做一次备份,上传3次就备份3次,每次备份就相当于一个版本,任意时间可以通过Git查询曾经提交过的每一个版本对应的内容,这样就可以随时恢复到之前任意上传时间对应的状态了

在这里插入图片描述

  • 追踪信息

    使用Git的过程中大部分时间是管理自己写的东西,但是也会存在一些情况需要你去改别人的代码或者几个人编辑同一个文件。此时同一个文件,你改改,我改改,最后算谁的啊?出了问题你追责都没的追,怎么解决这个问题呢?Git提供了强制记录日志的功能,每次上传信息要求书写日志,可以记录本次上传的相关信息。比如写清楚本次上传的内容啊,对应的说明啊,等等。关于日志的内容书写格式并不是规范类的东西,只能算是一个约定,因此每个公司对开发者提交日志都有自己的要求,上传时写什么东西,这样出了问题就可以进行信息追踪了

在这里插入图片描述

小结
  • 什么是git,它的作用是什么

    1)Git 是一个开源的分布式版本控制系统

    2)作用:

    1.代码共享

    2.信息追踪

    3.版本回溯

  • GIT与SVN的区别【面试题,不用理解,概念性记忆】

    • Git 是分布式的,SVN 不是
    • Git 把内容按元数据方式存储,而 SVN 是按文件
    • Git 分支和 SVN 的分支不同
    • Git 没有一个全局的版本号,而 SVN 有
    • Git 的内容完整性要优于 SVN

在这里插入图片描述

02.GIT相关概念

目标

可以画图说明GIT中工作区【Workspace】、暂存区【Index Stage】、版本库、运程仓库【Remote】的作用

内容

git没有中央版本库,但是为了方便开发小组的成员们进行代码共享,我们通常会搭建一个远程的git仓库。和svn不同的是开发者本地也包含一个完成的git仓库,从某种程度上来说本地的仓库和远程的仓库在身份上是等价的,没有主从。

在这里插入图片描述

# 1.工作区:就是你平时存放项目代码的地方。位置:一个文件夹通过git init 设置成一个git可以管理的文件夹时,这个文件夹里的内容(除去.git文件夹)就是工作区。

在这里插入图片描述

# 2.仓库区(或版本库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本。就是工作区有一个隐藏目录 .git,它不算工作区,而是 Git 的版本库
# 3.暂存区:英文叫 stage 或 index。是用来暂时存放工作区中修改的内容,可以理解为一个中转站。1)位置:一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。2)只是一个文件3)包含在版本库中4)为什么需要暂存区:1.如果没有暂存区,如果想要提交文件就需要一个个修改然后,提交,比较麻烦,但是有了暂存区就可以一次性将所需要的文件从暂存区			直接修改后提交。2.如果没有暂存区,你修改的文件只可以立刻保存到版本库中,但是这样很容易对别人的工作造成影响

在这里插入图片描述

# 4.Head :指向最新放入仓库的版本
# 5.master:是我们的主分支。当我们git init后,并不会立刻产生分支。而是我们添加了一个文件,并git add,git commit后这时我们查看分支情况便可以看到master分支了。是本地仓库一部分。
# 6.objects:是git对象库,是用来存储各种创建的对象以及内容.
# 7.远程仓库:托管代码的服务器,常用github。码云。gitlab
小结
  • 什么是工作区

    就是我们自己创建的目录,放置 我们要管理的文件

  • 什么是暂存区

    在将工作区内容加入到本地仓库,在加入到本地仓库前,是先放置在暂存区的



在这里插入图片描述


http://www.ppmy.cn/news/658662.html

相关文章

数字化转型再下一城,数字孪生厂商优锘科技宣布完成超3亿元融资

数字孪生技术是传统行业数字化转型的重要抓手,属于国家优先发展的战略性产业之一,已列入国家“十四五”规划纲要。 6月30日消息,数字孪生领导厂商“UINO优锘科技”宣布已于近期完成C轮超3亿元融资,本轮融资由中国互联网投资基金领…

火山安卓免费版超3窗口限制

火山安卓免费版超3窗口限制 一、布局 ①外层线性布局器,命名为窗口1,里面添加4个按钮 ②创建多个 窗口1(线性布局器)创建完毕后,设置隐藏 然后再用同样的方法创建窗口2 窗口2创建完毕后,同样隐藏,继续创建窗口3&…

今年涨幅超3倍!区块链牛股四方精创还能再度起爆吗?

随着高层的发话,区块链概念股一度掀起一波炒作热潮,越来越多的上市公司开始涉足区块链业务。但是区块链概念股鱼龙混杂,面对众多质量参差不齐的股票,大家往往不知道该如何下手。 陀螺财经重磅推出【区块链概念股分析】栏目&#x…

数牍科技完成超3亿元A轮融资,隐私工程守护数据全生命周期流通协作

允峰 发自 凹非寺量子位 编辑 | 公众号 QbitAI 2021年11月25日,北京数牍科技有限公司(以下简称「数牍科技」)宣布完成3.08亿元人民币Pre-A及A轮融资,本轮融资由GGV纪源资本、上海人工智能产业基金、深创投联合领投,老股…

Java基础 超详细(3)

文章目录 前言 一、和equals的区别 二、重写和重载的区别 三、接口和抽象类的异同点 总结 前言 书接上回,这期我们针对前两期的知识点中容易混淆以及面试中经常出现的问题进行一个总结 一、和equals的区别 我们说到过Java的数据类型有基本数据类型,当基…

汇成股份科创板上市:年营收8亿市值146亿 郑瑞俊负债超3亿

雷递网 雷建平 8月18日报道 合肥新汇成微电子股份有限公司(简称:“汇成股份”,股票代码为:“688403”)昨日在科创板上市。 汇成股份此次发行16,697万股,发行价为8.88元,募资总额为14.83亿元。 汇…

第三期

地址: http://blog.csdn.net/ccemp/archive/2005/01/31/275318.aspx 《CSDN社区电子杂志——纯C论坛杂志》第三期发布! 在纯C论坛杂志编辑团队和许多关心这本杂志的网友的共同努力下,《CSDN社区电子杂志——纯C论坛杂志》第三期顺利出刊&…