IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Git基本使用 -> 正文阅读

[开发工具]Git基本使用

Git基础

一、Git是什么?

Git是一个开源的分布式版本管理系统;
Git是由Linus开发用于管理和维护Linux内核源码;
Git是目前世界上最先进的分布式版本管理系统。

1.版本管理系统

在我们的实际开发过程中,经常会有这种需求或问题

我们需要在已经发布的程序中添加新的功能,如果测试验证后没有问题,才会使用新的代码,而在测试验证期间,不能影响原来的代码。我们常用的方式应该就是备份多份源代码。这么做唯一的好处就是简单,但是特别容易犯错。
实际项目开发基本都是多个人合作完成,在多个人写代码时,就牵扯到代码合并成一份的问题。每个人修改或者维护之后会产生一个新的版本,将这些不同版本的代码进行统一管理的系统被称之为——版本管理系统

2.分布式版本管理系统

  • 集中式:SVN,将修改或者维护后的不同版本的代码交给一个中央服务器进行统一管理,但这么做有一个坏处,如果这个中央服务器挂掉了那么代码也会丢失,为了改变此类现状,后来又出现了分布式版本管理系统。
  • 分布式:同样会有一台中央服务器对代码进行统一管理,但是和集中式不同的是,分布式会在个人的计算机上创建一个本地仓库,它的作用就类似于中央服务器,在团队中,万一中央服务器挂掉了,也可以在个人的本地仓库中查看代码版本信息,本地服务器挂掉了也可以在同事的本地仓库拉取代码。

二、相关概念

1. workSpace

概念:workSpace也被称为工作空间,在编辑器或者文件夹下所看到的目录就是工作空间。

2.Index

概念:也被称之为暂存空间,用于保存你需要提交到Repository中修改的记录。

3.Repository

概念:Repository也被称为本地仓库,用于记录文件修改的版本库,我们可以在多个版本之间切换,用于还原到某个指定版本的内容。

4.Remote

概念:Remote为远程仓库,和Repository功能一致,只是Remote远程仓库时可以合并多个用户本地仓库的记录。

5.大致流程图

git流程图

6.Git工作流

Master :生产环境发布分支;
Develop :开发分支;
Test :测试分支;
禁止在master和develop上进行开发
当你需要开发新的功能或者修复bug,你需要按照以下步骤:

  1. 在develop分支下git pull,拉取远程分支develop更新到本地develop;
  2. 在本地develop下checkout一个新的本地分支,比如feature1;
  3. 在本地feature1进行开发,然后将多个提交记录通过git rebase进行合并;
  4. 切换到develop分支下,git pull拉取远程develop分支的更新;
  5. git merge feature1,将feature1的代码合并到本地develop下;
  6. 推送本地develop到远程分支develop。

三、Git原理及实质

Git管理的时修改,而非文件的内容

什么是修改呢?当工作区内容和暂存区的内容不一致时,Git就可以判定为文件发生了修改。

Git判定修改的逻辑是:通过一个算法将暂存区中的某个文件内容算出一个hash值与工作区文件内容的hash比较。

在这里插入图片描述

四、Git命令

使用 ”git help -a“ 可以查看所有命令的介绍信息:

在这里插入图片描述

常用命令:

  1. git init :初始化一个本地仓库,会在当前目录生成一个".git"文件夹,该文件夹的目录中包含版本管理的全部数据。
  2. git add :将工作区的内容添加到暂存区
    • git add -a :提交所有变化;
    • git add -u :提交被修改或被删除的文件,不包括新文件;
    • git add . :提交新文件和被修改的文件,不包括被删除的文件;
  3. git reset :撤销 git add的操作,重置指针到当前位置;
    • git reset --soft :只是改变指针到指定commit,不会丢失内容;
    • git reset --hard :改变指针和工作区到指定位置;
  4. git commit :将暂存区的内容上传至本地仓库;
    • git commit -m “提交信息”;
    • git commit -amend “修改上次提交信息”;
  5. git log:查看提交信息;
    • git log --graph :查看提交曲线;
    • git log --pretty=online :如果嫌输出的信息太多可以使用该命令查看简易版记录;
  6. git rm :删除文件;
    • git rm 文件名 :删除指定文件;
    • git rm -r delete :从工作区和暂存区中删除目录;
    • git rm --cached 文件名 :只从暂存区删除;
  7. git status :查看文件状态;
  8. git revert :回退提交到指定位置,和 git reset 区别在于日志中会有记录revert操作;
  9. git stash :储存你想修改的内容,而不是提交到本地仓库中。
    • git stash save :储存当前工作区的改变和没有提交到本地仓库的暂存区的内容;
    • git stash list :查看储存列表;
    • git stash pop :应用某个储存列表;
  10. git rebase :将多个commit合并到一个commitid上面;注意:不允许再公共分支上进行rebase操作;
  11. git remote :关联远程仓库;
  12. git clone :将远程仓库克隆到本地;
  13. git pull :拉取远程仓库分支内容,合并到本地分支;
  14. git fetch:相当于是从远程仓库获取最新版本到本地,不会自动合并;
  15. git push :将本地分支推送到远程仓库;

五、分支

在团队开发中往往需要很多分支,master分支往往是总分支,团队成员需要自己创建自己的开发分支development,每个分支都会对应相应的功能,最后开发完成后合并到master分支上。

分支常用命令

  1. git branch :列出、创建或删除分支;
    • git branch :查看本地分支;
    • git branch -a :查看本地和远程分支;
    • git branch -c :创建分支;
    • git branch -d 分支名 :删除分支;
    • git branch -m :重命名分支;
  2. git checkout :切换到指定分支,检出某个分支;
    • git checkout -b 分支名 或 git switch -c 分支名:创建并切换到该分支;
    • git checkout --: 撤销修改;
      在新版本的Git中,使用git switch 分支名 来切换指定分支;
  3. git merge 分支名 :合并某分支到当前分支;

HEAD指针

记录的是当前工作区在哪个分支,分支文件中记录的commit。

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-07-17 16:44:21  更:2022-07-17 16:46:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 19:49:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计