Git介绍及应用

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 分支名 别名 查看指定标签下的代码,这里的分支名自定义即可
相关推荐
b1ng1 小时前
新人程序员 Git 一站式指南
git·github
程序员的世界你不懂2 小时前
IDE 关联 Git 操作
ide·git
weixin_428498493 小时前
Git Submodule 介绍和使用指南
git
jingshaoqi_ccc15 小时前
GitKraken最后一个免费版本和下载地址
git·github·gitkraken·版本管理工具
乌云暮年15 小时前
Git简单命令
git·gitee·github·batch命令
用户12592654232018 小时前
使用 Docker 搭建 Gitea 并实现 Git HTTP 自动登录
git
一只毛驴20 小时前
谈谈对git stash的理解?
git
长风破浪会有时呀1 天前
Git 学习笔记
笔记·git·学习
中微子1 天前
Git Rebase 详解:概念、原理与实战示例
git
荔枝吻2 天前
【保姆级喂饭教程】Windows下安装Git Flow
windows·git·git flow