Git入门 -- 区域详解

发布于:2024-08-20 ⋅ 阅读:(123) ⋅ 点赞:(0)

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上来。


网站公告

今日签到

点亮在社区的每一天
去签到