文章目录
- 引言:
- 一、Git 简介
- 1.1 Git 基本概念
- 1.2 Git 原理与工作流程
- 二、 Git 与 SVN 的区别
- 三、Git 的常用命令及操作
- 四、Git 的理论知识:
- 总结:
引言:
随着技术的不断演进和团队的不断发展,代码管理变得越来越重要。Git 作为一款出色的分布式版本控制工具,已经深受开发者的喜爱。本篇文章将从 Git 的简介、常用命令和理论知识入手,结合实战经验,探讨如何在团队开发中优化 Git 的使用。
一、Git 简介
Git 是一个分布式版本控制系统,由于其卓越的性能和强大的功能,成为了软件开发行业的标准。在本节中,我们将介绍 Git 的基本概念、原理和工作流程,并讨论为什么 Git 在技术上如此优秀。
1.1 Git 基本概念
Git 的基本概念包括仓库、分支、提交、合并等。我们将详细介绍这些概念,帮助读者更好地理解 Git 的工作原理和使用方法。
1.2 Git 原理与工作流程
Git 的原理与传统的集中式版本控制系统有所不同。我们将深入探讨 Git 的底层工作原理,包括对象数据库、索引、文件树等,并解释 Git 的基本工作流程,以便读者更好地理解 Git 的内部结构和工作机制。
二、 Git 与 SVN 的区别
- 2.1 去中心化
GIT是分布式的,SVN不是:这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。 - 2.2 git仓库的任何一个拷贝都可以独立作为一个服务器来使用
- 2.3 在Git中文件有四种状态:
未跟踪(untrack):表示文件为新增加的
已修改(modified):表示修改了文件,但还没保存到git仓库中。
已暂存(staged):表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中
已提交(committed):表示文件已保存在git仓库中。 - 2.4 其它
GIT没有一个全局的版本号,而SVN有:目前为止这是跟SVN相比GIT缺少的最大的一个特征。
GIT的内容完整性要优于SVN:GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏 - 2.5 直接记录快照,而非差异
GIT把内容按元数据方式存储,而SVN是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。
直接记录快照,而非差异 - 2.6 直接记录快照,而非差异
GIT分支和SVN的分支不同,分支在SVN中一点不特别,就是版本库中的另外的一个目录。 - 2.7 git存在分支
三、Git 的常用命令及操作
准备:
- 1.申请并[激活]一个Gitee帐号
- 2.在window中安装Git
版本要求:Git-2.22.0-64-bit.exe或以上版本,
安装路径:请不要安装在C盘(win10会有权限问题),建议选择“D:\tools\Git”
-
新建码云仓库
-
新建一个文件夹放Git
在文件夹点击
-
然后在输入你的账号和邮箱
-
然后你的c盘下就会有个这样的文件
-
然后创建仓库
-
然后将地址克隆(https://gitee.com/yuan_hui0170/tgit01.git)
-
其他人克隆
第二个人的
第一个人写好的东西(git push)推送之后,第二个人进去该项目(git pull)之后就能更新第一个人的
当第一个人写好代码(git push推送)之后,第二个人没有(git pull更新)且两人同时修改了同一个文件里的代码,且冲突,第二个人修改好了之后(git push)会报错,等重新修改或决定再(git push即可)
git clone:从远程仓库下载代码到本地仓库;
git add:将代码文件添加至暂存区;
git commit:将暂存区的代码永久保存在本地仓库;
git push:将本地仓库的代码推送到远程仓库;
git pull:将远程仓库的代码更新至本地仓库;
git branch:分支管理命令,常用命令有 git branch <branch_name>、git merge <branch_name> 等;
git stash:暂存当前工作区的代码,方便切换分支等操作;
git reset:用于版本回退,常用命令有 git reset --hard HEAD 或 git reset --hard <commit_id> 等;
git log:查看 Git 的提交日志。
四、Git 的理论知识:
Git 分支管理的原理:Git 将分支管理视为指针移动,当创建一个新的分支时,实际上是创建了一个新的指针,当修改代码时,Git 会将指针移动至对应分支的最新代码版本上。这样,在分支合并时,Git 只需要简单的移动指针即可完成操作,极大的提高了效率;
Git 的数据模型:Git 的数据模型主要由四个部分组成,分别是 Blob、Tree、Commit 和 Tag。其中 Blob 存储单个文件的内容和元数据,Tree 存储目录树的信息,Commit 存储整个工作区的状态,而 Tag 则用于为特定的 Commit 打标签;
Git 的工作原理:Git 是一款分布式版本控制工具,每个本地仓库都包含了完整的代码库和版本历史。在进行修改时,Git 会将工作区的代码和本地仓库的最新版本进行比较,然后将修改后的文件保存至暂存区,最后使用 git commit 命令将暂存区的代码永久保存在本地仓库中。
总结:
Git 是一款优秀的分布式版本控制工具,在团队协作中发挥着重要的作用。为了更好的使用 Git,我们需要掌握一些常用的命令和理解 Git 的工作原理和数据模型。并通过实践和优化,探索出适合团队协作的代码管理流程和规范,提高团队协作效率。