Git介绍及应用

发布于:2024-06-12 ⋅ 阅读:(85) ⋅ 点赞:(0)

1.简介

Git是一个分布式版本控制器,通常用来对软件开发过程中的源代码文件进行管理。通过Git仓库来存储和管理这些文件,Git仓库分为两种:

  • 本地仓库:开发人员自己电脑上的Git仓库
  • 远程仓库:远程服务器上的Git仓库

2.执行流程

3.Git代码托管服务

Git中存在两种类型的仓库,即本地仓库和远程仓库,那么如何搭建Git远程仓库呢?

  • 我们可以借助互联网上提供的一些代码托管服务来实现,比较常见的有GitHub、gitee、GitLab等

下面是gitee平台的远程仓库建立步骤图:

4.Git常用命令

4.1.Git全局设置

当安装完Git之后首先要做的事是设置用户名称和email地址,每次Git提交都会使用该用户的相关信息

在任意窗口下打开Git命令行窗口

设置用户信息 

  • git config --global user.name "用户名"
  • git config --global user.email "邮箱地址"

查看配置信息

  • git config --list

4.2.Git创建本地仓库

Git创建本地仓库有两个方法,一个是在本地初始化一个Git仓库,另一个是从远程仓库克隆 

在本地初始化一个仓库: 

  • 进入任意空目录,作为本地Git仓库
  • 右键点击git bash窗口
  • 执行命令 git init

从远程仓库克隆: 

  • 找到之前在gitee平台上创建的远程仓库,复制仓库地址
  • 任意进入一个目录,右键点击git bash窗口
  • 执行命令 git clone 地址

5.Git工作区中文件的状态

主要分为两个状态

  • untracked 未跟踪(未被纳入版本控制)
  • tracked 已跟踪(被纳入版本控制)

            1)Unmodified 未修改状态

            2)Modified 已修改状态

            3)Staged 已暂存状态

6.本地仓库操作

  • git status 用于查看文件状态
  • git add 用于将文件的修改加入暂存区
  • git reset 用于将暂存区的文件取消暂存或者是切换版本

  • git commit 用于将暂存区的文件修改提交到版本库(-m参数指的是message,我们在提交的时候要输入一个字符串,一般写一些提示信息,用于存放在日志里)

  • git log 用于查看日志

 7.远程仓库操作

  • git remote -v 用于查看已经配置的远程仓库,如果已经克隆了远程仓库,那么至少应该能看到origin,这是Git克隆的仓库服务器的默认名字

  • git remote add 别名 url地址 用于给本地仓库关联一个远程仓库,别名一般都会写origin,url地址就是远程仓库的地址

  • git push 远程仓库的别名 分支名 用于将本地仓库的文件推送到远程仓库

  • git clone url地址 用于将远程仓库克隆到本地仓库(上面介绍过了,也是创建本地仓库的方式之一)
  • git pull 远程仓库的别名 分支名 用于从远程仓库获取最新版本并合并到本地仓库

  • 注意:如果当前本地仓库不是从远程仓库克隆的,而是采用init指令在本地创建的,此时从远程仓库拉取文件就会报错(fatal: refusing to merge unrelated histories),那么可以在原命令之后添加参数--allow-unrelated-histories

8.分支操作

  • 查看分支
  • git branch 列出所有本地分支
  • git branch -r 列出所有远程分支
  • git branch -a 列出所有本地分支和远程分支

  • 创建分支
  • git branch 分支名 用于创建一个新分支

  • 切换分支
  • git checkout 分支名 用于切换已有的分支

  • 推送分支
  • git push 别名 分支名 用于将本地分支推送到远程仓库

  • 此时远程仓库里就会多一个分支

 

8.1.分支的作用

说了这么多分支操作,那么分支到底有什么作用呢?

  • 假设我有两个分支,一个分支1,一个分支2
  • 可以把分支理解成平行宇宙,我在分支1里干的事情不会在分支2里发生,反过来也是一样的,所以我在分支1里创建的文件、推送的文件等等,都不会在分支2里存在

主分支master下的文件:

新创建的分支branch1下的文件:

明显可以看见,branch1分支下的仓库文件多了一个,这就是在branch1分支下创建的文件,不会在主分支master下存在,利用这样的技术,我们可以把一个项目分成开发分支,测试分支等等,这样不会相互干扰而且还提高了效率

  • 合并分支
  • git merge 分支名 用于将其他分支合并到当前分支

9.标签操作

  • 当我们给某一时间段的业务打上标签后,我们就能通过这个标签再次回到这个时间段,来查看这个时候的相关业务
  • 标签功能通常用来存放不同版本的业务
  • 标签和分支有什么区别?分支是动态记忆的,当我开了一个分支之后,我在这个分支下做的所有操作都会被记忆,而标签是静态的,在我创建标签的那一刻,之前的操作都会被记忆,而之后的操作就不会记忆了,相当于只记录了那一刻 
  • 查看标签
  • git tag  查看所有标签 

  •  添加标签
  • git tag 标签名  添加一个标签,记录到创建这个标签为止所有的操作

  • 将标签推送至远程仓库
  • git push 仓库别名 标签名 将创建的标签推送至远程的仓库

将标签推送至远程仓库后,可以在代码托管平台上查看

  •  检出标签
  • git checkout -b 分支名 别名 查看指定标签下的代码,这里的分支名自定义即可