Git介绍及命令整理

一、Git说明

1、概述

Git是分布式的版本控制系统。与集中式版本控制系统相比,区别在于,用户可以针对本地仓库(无需连接远程服务器)进行所有的源码管理操作,当用户在本地完成所有提交后,可以再将其变更推送至远程服务。Git使用快照存储的存储模型,即Git是在目录树级别追踪修订版本的。向Git仓库的每一次提交,它代表当时工作区中的部分或全部目录树的一份快照。

2、内容移动核心命令

命令备注
工作目录暂存区域add暂存本地变更
暂存区域本地仓库commit仅提交暂存区域中的内容
本地仓库远程仓库push在推送时同步内容
本地仓库工作目录checkout切换当前分支
远程仓库本地环境clone创建本地仓库和工作目录
远程仓库本地仓库fetch更新远程分支的引用
远程仓库本地仓库和工作目录pull抓取和合并本地分支和工作目录

3、Git存储模型

使用快照存储模型进行版本控制时,引入一个问题就是会消耗大量的硬盘空间。针对这种情况,Git使用链接来减少多次提交时重复的内容,另外Git也会使用zlib压缩来压缩存储的内容。在某些触发点,Git会运行GC(垃圾回收)功能(也可以使用gc命令执行),检查修订版本之间非常类似的内容,并且将那些修订版本打包到一起形成一个压缩包文件,从而减小对磁盘空间的占用。

4、多仓库模型

考虑到Git的存储模型,及为得到最佳的可用性和性能,Git通常用来处理多个较小的仓库而非较大的整体仓库。
使用这个模型,将项目的每一个模块放入一个不同Git仓库。因此,一个项目可能需要克隆几个不同的仓库以便得到本地处理的所有内容。每个窗口最终都会存在于磁盘上的一个单独目录树中。
或者,如果正在开始一个新项目,则可以创建新的模块,这些模块中的每一个都针对一个单独的Git仓库。(git init命令被用于创建新的仓库,每个目录树一个。)
同时处理多个仓库的情况在Git中很常见。一个项目中,一些仓库是由init命令新近创建的,而另一些是从已有的远程仓库克隆下来的。
每个仓库都位于单独的工作目录中,其中实际的仓库被物理存储于该目录的.git目录中。

5、追踪、暂存、添加

追踪指的是让Git控制和监控一个文件。让Git追踪一个文件的第一步就是暂存它。此处,暂存意味着告知Git从工作目录中获取最新变更并且将其放入暂存区域。要使用git add命令来完成这一操作。无论是在暂存一个当前不被Git追踪的全新文件,还是在暂存对一个已经被Git追踪的文件的更新,都仍然要使用add命令。

6、版本号信息

Git版本控制系统中的版本号,不同于传统的版本或修订号。Git会为它存储的一切内容创建校验和(SHA1)。从某个角度讲,一个变更的整体SHA1值可以像其他大多数版本控制系统中的版本号那样发挥作用。但是SHA1实际上是40个字符的十六进制字符串,并不简洁、能够轻易记住。但通常使用任意SHA1中的足够字符就可以作为两个SHA1的区分——通常是前七个字符。而Git也提供了支持:仅使用SHA1的前其他字符即可指定对应的版本。

7、支持文件

Git忽略文件允许用户告知Git应该忽略哪些文件并且不要尝试管理;Git属性文件允许用户定义要应用到特定文件或文件类型的某些操作的设置。

  • 忽略文件:.gitignore
    Git的忽略文件为用户提供了从跟踪和处理过程中排除掉指定文件(通常为编译时中间文件)的操作。忽略文件可以使Git不会尝试管理或变更指定文件或目录。
  • 属性文件:.gitattributes
    Git的属性文件通常用于指定需要特定处理的文件,如二进制文件。在这个文件中,可以将不同的文件类型指定识别为二进制文件。
    例如:将.bin设置为二进制文件,只需在属性文件中添加"*.bin binary"
    .gitignore文件和.gitattributes文件均为文本文件,使用文本编辑器编辑后即可使用。

二、Git常用命令

git命令形式:git <git-options> <command> <command-options> <operands>

命令目的
add将文件内容添加到索引
branch列示、创建或删除分支
checkout切换分支或恢复工作树文件
clone将仓库克隆到新目录
commit将变更记录到仓库
config获取以及设置仓库或全局选项
diff显示提交之间、提交与工作树之间等的变更
fetch下载来自另一个仓库的对象和引用
help显示帮助信息
log显示提交日志
merge将两个或多个开发历史合并到一起
mv移动或重命名一个文件、目录或符号链接
pull从另一个仓库或本地分支进行抓取或集成
push更新远程引用以及相关的对象
rebase将本地提交转发到更新的上游头信息
rm从工作树和索引中移除文件
show显示各种类型的对象
status显示工作树的状态

三、Git分支管理

  • 获取分支信息
    git branch
    注:该命令会列出本地分支并且在当前活动分支旁边会放置一个星号(*)。
  • 创建分支
    git branch <branch name>
  • 切换分支
    git checkout <branch name>
  • 删除分支
    git branch -d <branch name>
  • 重命名分支
    git branch -m <branch name>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ftswsfb

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值