GIt版本管理器—全操作使用手册

303 阅读7分钟

GIt版本管理器—全操作使用手册

目录导航

  • Git概述
  • 代码托管平台
  • Git工作方式
  • Git环境初始化
  • Git项目操作

Git概述

Git是目前比较流行的一种版本管理工具,是一个分布式的代码版本管理器

代码托管平台

代码托管平台就是在Git分布式版本管理工具的基础上,在网站中建设的云空间;在网络中建立相对应的文件夹(即代码仓库),用于保存开发的代码,实现异地办公时进行代码同步的功能;常见的代码托管平台如下:

  • GitHub
  • Gitee
  • Gitlab

Git工作方式

Git工作方式

Git环境初始化

  • 在实际的操作过程中,本地仓库和远程仓库要进行交互,需要将==本地开发环境(公钥)的配置到远程仓库==中去,只有在远程仓库配置了公钥,远程仓库才运行配置了公钥的本地开发账号去操作远程仓库中的代码.

配置过程如下:

  • 生成公钥和私钥

    ssh-Keygen -t rsa -C "注释"
    
    # 执行命令过程中,所有选项默认回车即可
    

    rsa公钥生成

    执行命令后会在C:/用户/$user/.ssh/文件夹中生成公钥和私钥:id_rsa(==私钥,自己使用,不要泄露==) id_rsa_pub(公钥,发布出去)

    .ssh文件夹

  • 发布公钥

    在发布公钥之前,我们先到代码托管平台创建一个远程仓库,本文以Gitee为例

    • 第一步,打开Gitee主页,点击右上角的加号,选择新建仓库

    建仓1

    • 第二步,配置创建仓库,如果有其他平台仓库,也可点击右上角直接导入.

    建仓2

    建仓3

    • 创建后仓库结构如图

    建仓4

    • 添加公钥

    添加公钥

    至此,Git环境初始化完成

Git项目操作

1. 初始化本地仓库

在本地的工作目录下创建项目文件夹: D:/DevelopCode/Git (在多人进行开发时,一般由开发组小组组长完成项目的构建,其他人不用创建项目.)

创建好以后执行如下步骤

  • 配置全局信息

    在终端(Git Bash)中执行: cd D:/DevelopCode/Git跳转到项目文件夹下,执行命令配置开发人员信息

    git config user.name "开发人员名称"
    git config user.email "开发人员邮箱"
    

    以上配置,只在单个项目中生效,若要配置全局开发人员信息,执行如下命令

    git config --global user.name "开发人员信息"
    git config --global user.email "开发人员邮箱"
    

    配置开发人员信息

​ 可以通过命令: git config --list来查看开发人员信息

查看信息

  • 初始化项目

    依旧在项目文件夹下执行如下命令:

    git init
    

    命令执行过后会在当前文件夹下生成一个隐藏文件夹: .git/ 保存有项目的相关信息

    初始化项目

2.连接本地仓库和远程仓库

  • 在本地仓库中,配置远程仓库连接: 即本地仓库的代码要提交到哪个远程仓库中

    git remote add origin url
    

    首先,到我们到Gitee仓库中,获取ssh连接,然后执行上述命令即可.

    获取ssh

    连接仓库

  • 在远程仓库中配置本地开发人员公钥

    备注: 前面我们我们创建远程仓库的时候配置的为管理员的公钥,可以管理这个代码托管平台中所有的项目,此时配置的只是能操作本项目单个项目的普通开发人员: 即添加参与开发此项目的相关开发人员.

    添加其他开发者公钥

3.拉取远程仓库并重建本地仓库

  • 在上一步我们建立好了本地仓库和远程仓库的关联关系,但是远程仓库和本地仓库的文件结构并不一致,文件创建历史也并不一致,因此我们还需要进行同步(将远程仓库同步到本地仓库来),打开终端,执行如下命令,重构本地仓库;

    git pull --rebase origin master
    

    重构本地仓库

  • 本地仓库重构完成之后,我们可以执行命令: git log来查看当前项目版本信息,同时也可以看到,远程仓库中的文件也已经拉取到了本地仓库

4.新建文件纳入仓库管理

  • 当我们的项目中产生了新的项目文件时,我们需要将新的项目文件纳入到仓库中进行管理,以便进行代码提交和版本管理;

    那么执行如下代码即可实现对文件纳入git管理

    git add fileName
    

    文件纳入

  • 执行完命令之后,可以在执行命令: git status查看当前版本管理文件夹下的所有文件变动情况

5.代码提交与代码版本管理

  • 项目中的新增文件,必须通过提交的方式,才能完成文件纳入到管理工具的管理范畴中去,因此,需要将新增的文件在进行代码提交,命令如下:

    git commit -m "注释"
    

    代码提交

  • 在执行完版本提交之后,可以查看当前版本信息,我们会发现,本地仓库的项目版本发生了更新

  • 如果项目已有文件发生了更新,添加或修改了代码,可以执行改命令对该修改的项目文件进行更新

    git commint fileName -m "注释"
    

    文件内容更新

  • 提交完成后,本地仓库的版本也再次进行了更新

    二次更新

6.代码远程推送与克隆

  • 在完成了对本地仓库的代码提交以后,我们发现,此时仅仅只是对本地仓库进行了版本更新,远程仓库中的代码并未更新,因此需要将本地的代码推送到远程仓库,方便其他人进行同步

    git push origin master
    

    代码推送

  • 查看远程仓库,确认代码是否成功推送

    远程仓库确认

7.代码提交历史与版本回退

  • Git版本管理工具,所有的代码的提交都是有提交记录的,因此代码的版本回退也是通过提交历史记录进行操作的

    # 硬回滚
    git reset --hard 回退版本号
    
    # 软回滚
    git revert -n 回退版本号
    
  • 硬回滚操作方式如下:

    可以看到,使用硬回滚之后,回滚的版本号以后的版本全部都不见了

    硬回滚

    备注: 硬回滚,一般情况下会将提交历史记录和提交的数据更新同时回滚,理论上回滚之后是没有办法进行复原的,数据不容易找回.如果操作是规范的,数据依然能够找回(通过丢失的历史记录进行找回)

  • 软回滚:

    可以看到,软回滚在回滚时人保留了回滚之前的版本,且还产生了新的commit_id

    软回滚

  • 在实际的开发环境中,代码是基于master发布到远程仓库的,会有很多的人进行提交,在需要做代码会的时候,如果没有别人的最新提交,那么是可以直接使用硬回滚的,否则,就要使用revert进行还原,保证不影响到别人的提交.

  • 以上的回滚的方法,都并未真正对版本进行删除,Git分支会将每次的修改都保留下来,只要有保留有commit,就可以通过commit对版本进行找回;同时也可以通过如下命令查看完成的提交历史.

    git reflog show
    

    提交历史

8.代码提交分支与分支管理

在中大型项目的开发过程中,对于不同的软件版本,bug优化,新功能的研发都设置有独立的分支

  • master主分支: 负责产品的稳定版本发布
  • dev开发分支: 负责项目的版本迭代
  • bug修复分支: 负责对项目中的bug进行优化
  • future未来分支: 负责新功能的研发

分支图

Git可以通过命令管理所有的分支

  • 查看分支:

    git branch
    
  • 创建分支:

    git branch branchName
    
  • 切换分支

    git checkout branchName
    
  • 删除分支

    git branch -d branchName
    

分支管理

总结

以上就是,Git常用的所有相关操作了,基本上实际的开发过程中,更多的是会用到IDE里的图形化界面操作,但是关于Git的基础操作命令,最好还是掌握理解比较好