Git (版本控制,git安装和配置,git代码托管服务,git操作本地远程仓库,分支,idea整合git)【看这一片就够】

这篇具有很好参考价值的文章主要介绍了Git (版本控制,git安装和配置,git代码托管服务,git操作本地远程仓库,分支,idea整合git)【看这一片就够】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、版本控制介绍

1. 版本控制介绍

2. 版本控制工具

3. git简介

二、git安装与配置

1. 下载git

2. 安装git

2. 配置git

三、git代码托管服务

1. 常见的git代码托管服务

2. 注册码云帐号【这里介绍一种的用法,其它也是一样的操作】

3. 创建远程仓库

四、git命令-操作本地仓库

1. 获取仓库

1 方式1克隆项目仓库

2 方式2本地创建仓库

2. 本地仓库操作

1 工作区,暂存区和版本库

2 常用命令

3 操作示例

3. 小结

五、git命令-操作远程仓库

1. 常用命令

2. 操作示例

1 查看远程仓库:git remote

2 添加远程仓库:git remote add

3 克隆远程仓库:git clone

4 推送到远程仓库:git push

5 从远程仓库拉取:git pull

3. 小结

六、git命令-操作分支与标签

1. 分支操作

1 分支介绍

2 常用命令

3 操作示例

1 查看分支:git branch

2 创建分支:git branch 分支名称

3 切换分支:git checkout 分支名称

4 推送分支到远程仓库:git push

5 合并分支:git merge

2. 标签操作

1 标签介绍

2 常用命令

3 操作示例

2 创建标签:git tag 标签名

3 推送标签到远程仓库:git push 远程仓库名 标签名

4 检出标签:git checkout -b 分支名 标签名

3. 小结

七、idea整合git

1. 在idea中配置git

2. 获取git仓库

3. 本地仓库操作

1 添加到暂存区

2 提交到本地仓库

3 查看日志

4. 远程仓库操作

1 查看远程仓库

2 推送到远程仓库

3 从远程仓库拉取

5. 分支操作

1 查看分支

2 创建分支

3 切换分支

4 推送分支到远程仓库

5 合并分支


一、版本控制介绍

1. 版本控制介绍

版本控制(Revision control)是一种软件工程技巧。籍以在开发的过程中,确保由不同人所编辑的同一档案(项目代码)都得到更新。

利用版本控制,可以:

  1. 保存并可以回溯代码的历史版本

  2. 可以切换不同版本的代码

  3. 多人协同开发一个项目

  4. 备份源代码

  5. 协同开发时定位修改代码的责任人

2. 版本控制工具

  • CVS:早期版本管理软件

  • ClearCase:IBM企业级大型版本管理工具, 收费。

  • VSS:微软推出的版本管理工具, 较少使用

  • SVN:市面最流行的版本管理工具之一,拥有CVS所有功能,修复了CVS的不足

  • GIT:分布式版本管理工具。已经是大势所趋。Linus Torvalds开发的 (Linux)

3. git简介

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

  • 本地仓库:开发人员自己电脑上的 Git 仓库

  • 远程仓库:远程服务器上的 Git 仓库

git基本操作:

  • commit:提交,将本地文件和版本信息保存到本地仓库

  • push:推送,将本地仓库文件和版本信息上传到远程仓库

  • pull:拉取,将远程仓库文件和版本信息下载到本地仓库

git配置仓库,git

二、git安装与配置

1. 下载git

git下载地址:Git - Downloads

2. 安装git

双击git安装包,一路下一步直到最后。注意==安装的路径里,不要有中文、空格、特殊字符==

安装成功后,在桌面上右键会有以下选项:

  • Git GUI Here:在当前文件夹里打开git图形窗口界面

  • Git Bash Here:在当前文件夹里打开git命令行界面

git配置仓库,git

2. 配置git

安装好git之后,要使用git进行版本控制,通常需要配置一下自己的姓名和邮箱信息,用于在每次提交代码时作为自己的身份标识,这是非常重要的。

操作步骤如下:

  1. 在任意文件夹里右键(例如,在桌面上右键),Git Bash Here,打开git命令行界面

  2. 输入命令:

    • git config --global user.name '姓名' 建议都使用英文+数字

    • git config --global user.email '邮箱地址' “邮箱地址”建议用真实邮箱地址

    • git config --global credential.helper store 让git存储gitee的帐号和密码,不需要每次操作远程仓库都输帐号密码

  3. 验证是否配置成功:

    • git config --list

git配置仓库,git

三、git代码托管服务

1. 常见的git代码托管服务

Git中存在两种类型的仓库,即本地仓库远程仓库。我们在git介绍里所谓的“git远程仓库”,其实就是这里所说的“git代码托管服务”

那么如何搭建Git远程仓库服务呢?其实我们可以借助互联网上提供的一些代码托管服务来实现,其中比较常用的有:

  • GitLab (地址: The most-comprehensive AI-powered DevSecOps platform | GitLab ),是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务

  • GitHub( 地址:https://github.com/ ),是一个面向开源及私有软件项目的托管平台,因为只支持Git 作为唯一的版本库格式进行托管,故名gitHub

  • 码云(地址: Gitee - 基于 Git 的代码托管和研发协作平台 ),是国内的一个代码托管平台,由于服务器在国内,所以相比于GitHub,码云速度会更快

  • BitBucket(地址:Bitbucket | Git solution for teams using Jira) ,是一家源代码托管网站,采用Mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费账户

远程仓库用什么,看公司的要求

2. 注册码云帐号【这里介绍一种的用法,其它也是一样的操作】

1 注册gitee帐号

打开Gitee - 基于 Git 的代码托管和研发协作平台,点击注册按钮,输入信息进行注册

git配置仓库,git

2 登录gitee帐号

点击登录按钮,进入登录页面。输入刚刚注册的帐号信息,点击登录

git配置仓库,git

3. 创建远程仓库

一个仓库,通常用于存储一个项目的代码。git会把一个项目的所有历史版本记录和代码,全部存储到一个仓库里。所以,我们可以理解为:一个仓库,就是一个项目的代码。一个项目,要创建一个仓库

1 点击“新增仓库”

git配置仓库,git

2 设置仓库基本信息

git配置仓库,git

3 查看仓库地址信息

查看空仓库的地址

如果新创建的仓库,里边没有任何内容,会显示以下界面

git配置仓库,git

查看非空仓库的地址

如果仓库里已经有内容了,要获取仓库的地址,需要点击以下按钮:

git配置仓库,git

4 邀请仓库成员

新创建的仓库,只有自己一个成员(自己是管理员),即只有自己能够向仓库里推送代码。而在实际开发中,一个项目通常是由一个小组的成员共同完成的,这就需要其它人员也能够看到此仓库、能够向仓库里推送代码。

为了实现小组共同完成项目,需要给仓库添加成员:

git配置仓库,git

四、git命令-操作本地仓库

1. 获取仓库

在实际开发中,通常有两种方式获取项目仓库:

  • 作为架构师或Leader,需要:

    1. 创建空的共享仓库(例如gitee)

    2. 在自己的本机上创建项目版本仓库,推送到共享仓库(例如gitee)里,供组员clone得到初始项目仓库

  • 作为项目组普通成员,只要:

    1. 直接从共享仓库(例如gitee)里克隆项目仓库到本机即可

    2. 获取本地仓库里的代码,开始开发工作

当我们得到仓库之后,这个仓库文件夹,就是项目文件夹:

  • 开发人员在仓库文件夹里直接写代码

  • 完成功能后,把代码提交到本地仓库,留下一次提交记录

1 方式1克隆项目仓库

在任意文件夹里打开git bash窗口,执行命令:git clone 仓库地址

git配置仓库,git

如果帐号密码输错了,导致后边所有远程仓库的操作都失败,或者连接不上可以:

  • 清理一下旧的远程仓库的认证信息:git config --system --unset credential.helper

  • 然后重新操作,会让我们重新输入gitee的帐号和密码

2 方式2本地创建仓库

创建一个文件夹,在文件夹里打开git bash容器,执行命令:git init

git配置仓库,git

2. 本地仓库操作

1 工作区,暂存区和版本库

在git的版本库里,有三个区域是必须要了解的:

  • 工作区:项目仓库文件夹里就是工作区,我们直接在这个文件夹里编辑代码。

  • 版本库:工作区内有一个隐藏的.git就是版本库,其中保存了项目的所有变更历史记录。如果把这个.git删除掉,仓库就成为普通文件夹了,git不能再进行版本控制了

  • 暂存区:.git里的index文件就是暂存区,也叫stage。暂存区是临时保存修改文件的地方

三个区域的运作模式:

git配置仓库,git

工作区里的文件状态有三种:

  • untracked:未跟踪。表示文件是新创建的,还没有纳入到git的管控

  • tracked:已跟踪,已纳入git版本控制,随着操作又有不同的状态变化

    • Unmodifed:文件未修改,没有新的变化

    • Modified:文件已被修改

    • Staged:文件已暂存,已添加到暂存区了

2 常用命令

git配置仓库,git

3 操作示例

1 查看仓库状态:git status

在tlias仓库文件夹里,先后执行命令:

  1. 查看仓库状态:git status

  2. 在仓库里创建文件a.txt

  3. 再次查看仓库状态:git status

    Untracked files:未被git管控的文件有a.txt

git配置仓库,git

2 添加文件到暂存区:git add

执行命令:

        1.添加到暂存区:git add a.txt,把a.txt添加到暂存区。

如果有多个文件一起添加,可以使用git add 文件1 文件2 ...

也可以用git add ./*把当前文件夹里所有 有变化的文件全部添加到暂存区

        2.再次查看仓库状态:git status

git配置仓库,git

3 取消暂存或切换版本:git reset

取消暂存

执行命令:

  1. 取消暂存:git reset a.txt,把a.txt恢复成暂存命令执行之前的状态(已修改未暂存)

  2. 查看状态:git status,发现a.txt变成了未暂存的状态

git配置仓库,git

切换版本

如果要恢复成历史记录中的某个版本,可以执行命令:git reset --hard 版本号

2.3.4 提交到版本库:git commit

如果修改了某些文件,想要提交版本,必须先添加到暂存区才能提交:

  1. 把文件添加到暂存区:git add 文件1 文件2 ...

  2. 把暂存区内容提交到版本库:git commit -m '本次提交的描述'

git配置仓库,git

5 查看版本记录:git log

如果想要查看历史提交记录,可以执行命令:git log

git配置仓库,git

3. 小结

获取本地仓库,有两种方式:

  • 直接克隆远程仓库,得到本地仓库:git clone 远程仓库的地址

  • 本地文件夹里 初始化本地仓库:在本地文件夹里打开Git Bash Here,执行命令 git init

本地仓库操作:

  • 如果新增或修改或删除了文件,需要:

    把文件添加到暂存区 git add 文件路径 文件路径 文件路径...

    把暂存区的文件取消暂存 git reset 文件路径 文件路径 ...

    然后把暂存区里所有内容一次性提交到本地仓库,需要:git commit -m '提交的描述信息'

  • 要查看过去的提交日志记录,需要:git log

  • 要查看本地仓库的状态,需要:git status

五、git命令-操作远程仓库

如果仅仅把代码提交到本地仓库是不够的,我们是项目组合作开发,所以你提交的代码还要推送到共享仓库里,组内其它成员可以拉取到你提交的代码。反之,组内其它成员提交的代码,也要推送到共享仓库里,你也可以从共享仓库里拉取得到其它人的代码。

1. 常用命令

git配置仓库,git

2. 操作示例

1 查看远程仓库:git remote

  • 查看远程仓库:git remote

    origin是默认的远程仓库缩写代号。从远程仓库里克隆下来的项目,必定有这个名称

  • 查看远程仓库详细信息:git remote -v

git配置仓库,git

2 添加远程仓库:git remote add

添加远程仓库:git remote add 仓库地址代号 仓库地址

git配置仓库,git

 

注意:实际开发中,从某个远程仓库里克隆下来的项目,通常不需要额外再添加第二个远程仓库

刚刚仅作为语法的效果演示,实际开发基本不会这样操作,所以这里取消关联第二个远程仓库

git remote remove 仓库名

git配置仓库,git

3 克隆远程仓库:git clone

  • 语法:git clone 远程仓库地址

  • 注意:在之前的“获取仓库”一节中,已经演示过了,效果如下图所示:

git配置仓库,git

4 推送到远程仓库:git push

当你的某个功能开发完成后,已经提交到了本地仓库,还需要再做一步:推送到远程仓库,其它人才可以从远程仓库里拉取到你的代码

  • 语法:git push 远程仓库名 分支名

git配置仓库,git注意:第一次向远程仓库(例如gitee)推送时,会弹出窗口,需要输入远程仓库(例如gitee)的帐号和密码

git配置仓库,git     

5 从远程仓库拉取:git pull

如果组内其它人向远程仓库里推送了代码,而你想要从远程仓库里拉取得到最新的代码,就要执行拉取命令了

  • 语法:git pull 远程仓库名 分支名

git配置仓库,git

注意:如果本地仓库是自己创建的(而不是克隆下来的),并且有文件,然后从远程仓库里拉取代码时会报错fatal: refusing to merge unrelated histories

解决方法:git pull origin master --allow-unrelated-histries

3. 小结

进入公司以后,需要获取到本地仓库:

  • 克隆:git clone 远程仓库地址, 得到本地仓库。本地仓库里有所有的历史提交记录和所有的源码

然后一个仓库,就是一个项目。可以编写代码,完成功能。当功能完成以后,需要:

  • 添加到暂存区:git add 文件路径

    如果所有有变化的文件都是这一次功能的,可以一次性加:git add .

  • 提交到本地仓库:git commit -m '描述信息'

    添加一次提交记录,xxx在xxx时间修改了xxx文件

  • 推送到远程仓库:git push origin master 语法:git push 远程仓库地址简称 分支名

    如果不推送,组里其它人就不能获取最新的代码

如果要获取其它人推送的最新代码:

  • 从远程仓库拉取:git pull origin master 语法:git pull 远程仓库地址简称 分支名

六、git命令-操作分支与标签

1. 分支操作

1 分支介绍

分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN。

如果两个平行宇宙互不干扰,那对现在的你也没啥影响。不过,在某个时间点,两个平行宇宙合并了,结果,你既学会了Git又学会了SVN!

git配置仓库,git

分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交并推送,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。

现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。

2 常用命令

git配置仓库,git

仓库里默认会有一个分支,名称是master

删除本地分支:git branch -d 分支名

删除远程分支:git push origin -d 分支名

3 操作示例

1 查看分支:git branch
  • 查看本地分支:git branch

  • 查看远程分支:git branch -r

  • 查看所有分支:git branch -a

git配置仓库,git

2 创建分支:git branch 分支名称
  • 创建新分支:git branch 分支名称

git配置仓库,git

3 切换分支:git checkout 分支名称
  • 切换到指定分支:git checkout 分支名称

  • 注意:切换分支前,要把工作区的内容提交或缓存起来。否则切换分支时会导致分支之间干扰混乱

git配置仓库,git

4 推送分支到远程仓库:git push

我们刚刚创建的分支,都是本地分支,远程仓库里还没有这个分支。要推送到远程仓库的话:

  • 推送到远程仓库:git push 远程仓库名 分支名

git配置仓库,git

5 合并分支:git merge

实际开发中,我们往往使用分支来开发自己的功能。当功能开发完成后,需要把功能分支的代码合并到dev分支。

  • 合并分支:git merge 分支名,把指定分支合并到当前分支

git配置仓库,git

2. 标签操作

1 标签介绍

git里的标签,是指把某次提交状态的代码打上一个标记。通过这个标签,可以很方便的切换到标记时的代码。开发中,我们通常会把代码里某个特别稳定的版本打上标签,例如:

git配置仓库,git

2 常用命令

git配置仓库,git

3 操作示例

1 查看标签:git tag

  • 查看已有标签:git tag

git配置仓库,git

2 创建标签:git tag 标签名
  • 创建标签:git tag 标签名,在当前提交的基础上创建标签

git配置仓库,git

3 推送标签到远程仓库:git push 远程仓库名 标签名

我们创建的标签仅仅是在本地仓库里,如果想将标签推送到远程仓库,可以使用推送命令

  • 推送标签:git push 远程仓库名 标签名

git配置仓库,git

4 检出标签:git checkout -b 分支名 标签名

如果想要切换到标签对应的代码,需要执行检出标签的命令

  • 检出标签:git checkout -b 分支名 标签名,将标签对应的代码检出成为一个新的分支

    分支名:不能与已有分支名重复

git配置仓库,git

3. 小结

实际开发中,通常是要开发一个功能,就创建一个新分支;要修改一个bug,就创建一个新分支

相关的操作命令:

  • 创建分支:git branch 分支名

  • 查看分支:git branch 查看本地分支; git branch -r 查看远程分支; git branch -a 查看所有分支

  • 切换分支:git checkout 分支名

    然后在分支里编写代码,添加暂存区,提交到本地仓库

    注意:切换分支时,还未提交的代码,将会带到 目标分支里。

  • 推送分支到远程仓库:git push origin 分支名

  • 合并分支:git merge 分支名 把指定分支合并到当前分支

  • 删除分支:git brand -d 分支名 删除的是本地的分支

    git push origin -d 分支名 删除远程仓库里的指定分支

七、idea整合git

1. 在idea中配置git

git配置仓库,git

2. 获取git仓库

1 方式1克隆远程仓库

克隆远程仓库后,使用idea打开仓库代码(一个仓库就是一个项目)

  • 打开idea时,从VCS版本控制系统里获取仓库

git配置仓库,git

git配置仓库,git

2 方式2初始化本地仓库

  1. 创建忽略文件

在开发中,有些文件是不需要纳入版本控制的。例如:target文件夹,.idea文件夹等。

想要让git忽略某些文件不管理,只要在==本地仓库的根目录==里创建一个文件.gitignore(名称不要写错),在文件里配置要忽略的内容:

target/
.idea/
*.iml

     2. 启用版本控制整合

git配置仓库,git

    3. 选择版本控制工具,使用git

git配置仓库,git

3. 本地仓库操作

1 添加到暂存区

git配置仓库,git

2 提交到本地仓库

1.点击提交按钮

git配置仓库,git

2.输入提交描述信息

git配置仓库,git

3 查看日志

git配置仓库,git

4. 远程仓库操作

1 查看远程仓库

git配置仓库,git

2 推送到远程仓库

点击推送按钮

git配置仓库,git

3 从远程仓库拉取

git配置仓库,git

5. 分支操作

1 查看分支

在idea的右下角,会显示当前分支。点击分支名称,会列出所有的分支,包括本地分支和远程分支

git配置仓库,git

2 创建分支

基于当前提交创建分支:         

git配置仓库,git

给分支起名称:

git配置仓库,git

3 切换分支

切换分支,即检出分支,操作如下:

git配置仓库,git

4 推送分支到远程仓库

git配置仓库,git

5 合并分支

先切换到master分支后,

再执行如下操作的效果是:把“feature-student”分支合并到当前的master分支

git配置仓库,git文章来源地址https://www.toymoban.com/news/detail-850622.html

到了这里,关于Git (版本控制,git安装和配置,git代码托管服务,git操作本地远程仓库,分支,idea整合git)【看这一片就够】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Git 命令大全:解锁代码版本控制的神奇秘密!

    以下是备忘单中的所有命令: 设置将附加到提交和标记的名称和电子邮件 创建本地存储库(省略以将当前目录初始化为 git 存储库) directory 下载远程存储库 将文件添加到暂存 暂存所有文件 将所有暂存文件提交到 git 添加对跟踪文件所做的所有更改并提交 main:默认开发分支

    2024年02月03日
    浏览(45)
  • 版本控制工具 - git的安装与使用

      Git 是一个免费和开源 的分布式版本控制系统,旨在以速度和效率处理从小型到大型项目的所有内容。Git易于学习 占用空间小,性能快如闪电. 它优于 SCM 工具,如 Subversion, CVS, Perforce, 和 ClearCase 具有 廉价的本地分支, 方便的暂存区域和多个工作流等功能。 git记录的是什

    2024年02月15日
    浏览(38)
  • 版本控制系统git:一文了解git,以及它在生活中的应用,网站维护git代码,图导,自动化部署代码

    目录 1.Git是什么 2.git在生活中的应用 2.1git自动化部署代码 3.网站维护git代码

    2024年02月07日
    浏览(42)
  • Git ---- 国内代码托管中心-码云

    众所周知,GitHub 服务器在国外,使用 GitHub 作为项目托管网站,如果网速不好的话,严重影响使用体验,甚至会出现登录不上的情况。针对这个情况,大家也可以使用国内的项目托管网站-码云。 码云是开源中国推出的基于 Git 的代码托管服务中心,网址是 https://gitee.com/ ,使

    2023年04月08日
    浏览(45)
  • 部署Git版本控制系统 | 优化Web服务器

    前序文章: https://blog.csdn.net/shengweiit/article/details/135193074 部署git版本控制系统,管理网站代码 基于ssh协议的服务器 基于git协议的服务器 基于HTTP协议的服务器 上传代码到版本库 1. 安装软件包,创建空仓库

    2024年02月04日
    浏览(37)
  • 【无标题】QT应用编程: QtCreator配置Git版本控制(码云)

    @QT应用编程: QtCreator配置Git版本控制(码云) 感谢:DS小龙哥的文章,这篇主要参考小龙哥的内容。 https://cloud.tencent.com/developer/article/1930531?areaSource=102001.15traceId=W2mKALltGu5f8-HOI8fsN Qt Creater 自带了git支持。但是一直没搞明白怎么用。这里是对这个功能用起来的记录。 下载安装git客

    2024年02月12日
    浏览(34)
  • 【掌握版本控制:Git 入门与实践指南】配置详解|理解本地仓库结构

                                                    🎬慕斯主页 : 修仙—别有洞天                                               ♈️ 今日夜电波:泥中に咲く—ウォルピスカーター                                                          

    2024年03月13日
    浏览(55)
  • 程序员必备之——代码托管工具 git

    目录 一、git的安装及本地配置 1.1、git介绍 1.2、git本地安装及配置 1.3、git远程仓库 二、git的命令及使用 2.1、基础命令 三、git的分支 3.1、常用命令 3.2、执行效果图 3.3、合并时有冲突该怎么办? 3.4、解决冲突 3.5、git分支图解 四、连接远程仓库 4.1、在gitee新建远程仓库 4.2、

    2024年02月08日
    浏览(43)
  • github代码托管git详细操作指南

    通过git官网下载,链接:https://git-scm.com/download/win(win版、mac版、linux版) 截图如下: 下载完成后显示位置: 双击安装:Git-2.43.0-64-bit.exe 截图如下: 新手全部选中next到最后install安装 安装完成之后如下截图: 通过windows+R输入cmd打开命令窗口,输入git 出现如下信息说明安装

    2024年02月03日
    浏览(34)
  • 云计算项目四:部署Git版本控制系统 | 优化Web服务器

    前序文章: https://blog.csdn.net/shengweiit/article/details/135193074 部署git版本控制系统,管理网站代码 基于ssh协议的服务器 基于git协议的服务器 基于HTTP协议的服务器 上传代码到版本库 1. 安装软件包,创建空仓库

    2024年01月24日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包