当前位置: 首页 > news >正文

Git入门 -- 区域详解

Git入门 – 区域详解

1.Git

1.1 Git与SVN的区别

Git不仅仅是版本控制系统,同时也是内容管理系统。以下是Git与SVN的区别:

  • 分布式:Git是分布式但SVN不是,这是Git与其他系统的核心区别。
  • 存储方式为元数据:Git在存储数据时按元数据存储,而SVN则是按文件进行存储
  • 分支不同:Git与SVN的分支不同。
  • 无全局版本号:Git没有全局版本号而SVN有,目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征
  • 内容完整性:Git内容完整性优于SVN,Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

2.Git区域介绍

2.1 简介

Git本地一共有三个区域,分别是工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repository或Git Directory)。如果在加上远程Git仓库(Remote Directory)则可以分为四个工作区域。其转换关系如下:

alt text

  • Workspace:工作区,即平时开发存放项目代码的空间。
  • Index/Stage:暂存区,用于临时存放改动的文件,实际上暂存区只是一个文件,保存即将提交的到文件列表信息,一般存放在.git目录下的index文件中。
  • Repository:本地仓库,即Git安全存放数据的位置,其中包含用户提交到所有版本的数据。其中HEAD指向最新放入仓库的版本。
  • Remote:远程仓库,托管代码的服务器,可以简单人为是项目组中的一台电脑用于远程数据交换。

  • Directory:使用Git管理的一个目录,即一个仓库,其中包含工作空间和Git的管理空间。
  • WorkSpace:需要通过Git进行版本控制的目录和文件,
  • .git:存放Git管理信息的目录,初始化仓库的时候自动创建。
  • Index/Stage: 暂存区,或者叫待提交更新区,在提交进入repo之前,我们可以把所有的更新放在暂存区。
  • Local Repo:本地仓库,一个存放在本地的版本库;HEAD会只是当前的开发分支(branch)。

3.Git分支

3.1 作用

Git分支意味着用户可从开发主线上分离下来,并且在不影响主线的同时继续工作。
alt text

3.2 Git分支常用命令

  • 列出所有分支
git branch
  • 列出所有远程分支
git branch -r
  • 新建一个分支并停留在当前分支
git branch [branchName]
  • 新建一个分支并切换到该分支
git checkout -b [branchName]
  • 切换到主分支
$ git checkout master
  • 合并指定分支到当前分支
$ git merge [branchName]
  • 删除分支
$ git branch -d [branchName]
  • 删除远程分支
$ git push origin -- delete [branchName]
$ git branch -dr [remote/branch]

3.3 branch和master的功能

master主分支应该非常稳定,用来发布新版本,一般情况下 不允许在上面工作,工作一般情况下在新建的dev分支上工作,工作完后,比如上要发布,或者说dev分支代码稳定后可以合并到主分支master上来。


http://www.mrgr.cn/news/1071.html

相关文章:

  • 《第十九章 多媒体 - 摄像头与相册》
  • 【信创】双系统下删除Windows只保留麒麟系统
  • 如何优雅的薅羊毛之Flux.1免费使用还支持中文prompt
  • 01_React简介、基础入门
  • OpenTelemetry:新一代的开源可观测性标准
  • Redis在Linux(Centos7)单机部署和集群部署
  • 【中等】 猿人学web第一届 第7题 动态字体,随风漂移
  • 华为 OLT 添加 ONT 配置 (OMCI 管理模式)
  • 清理 Conda 缓存和 Pip 缓存
  • 【hot100篇-python刷题记录】【矩阵置零】
  • 零基础学习Redis(5) -- redis单线程模型介绍
  • 第一篇:fiddler学习日记配置抓取https和http
  • 二:《Python基础语法汇总》— 条件判断与循环结构
  • 模电实验4 - 单电源直接耦合放大电路
  • 【Qt】Qt窗口 | QDockWidget 浮动窗口
  • python使用flask实现自动根据url寻找对应目录/文件/方法,实现动态路由
  • xss GAME (xss漏洞攻击1-8)
  • html文件运行后界面反馈xxx拒绝连接
  • leetcode 552. 学生出勤记录 II
  • 用ChatGPT出题,完全做不完