git学习笔记(图文)

该文为学习 廖雪峰 Git 教程 整理的笔记

1、 设置用户信息

安装完git后需要设置用户名和email地址,后续git提交会使用到该用户信息,鼠标右键点击 Git Bash Here ,输入以下命令:

git config --global user.name "xxx"

git config --global user.email "xx@xx.xx"

效果展示:

在这里插入图片描述

2、新建文件夹或在已有文件夹下创建git仓库

在该文件夹下鼠标右键点击 Git Bash Here ,输入以下命令:

git init

效果展示:

在这里插入图片描述

3、将文件添加到git仓库

在这之前,需要该文件夹里面有文件,可以创建一个 readme.txt 文件(文件名、文件内容任意)

git add readme.txt

也可添加多个文件:

git add readme.txt readme2.txt

添加该目录下的所有文件(如果文件被添加过了,就添加新文件或被修改的文件):

git add *

git add .

效果展示:

在这里插入图片描述

4、将文件提交到仓库

git commit -m "对本次提交的说明"

效果展示:

在这里插入图片描述

为什么需要 addcommit

说明:add用于将文件添加到一个暂存区(临时保存你的改动),此时还未真正提交,使用commit以实现真正的提交改动

5、查看修改的文件信息及修改内容

查看修改的文件信息(此处修改了 readme.txt 和 readme2.txt 两个文件):

git status

效果展示:

在这里插入图片描述

查看修改的文件内容(此处分别在两个文件中追加了 abc 字符):

git diff

效果展示:

在这里插入图片描述

撤回文件修改(注:此时还未执行 git add 文件名 命令,该文件此时还未放入暂存区中):

git restore 文件名

git checkout -- 文件名

额外作用: git checkout -- 文件名 (注:执行了 git add 文件名命令后,已将文件放入了暂存区,此时又对该文件进行了修改,可用该命令撤回文件修改,撤回的是放入暂存区后的修改)

效果展示:

在这里插入图片描述

修改文件后,再次进行提交:

git add readme2.txt

git commit -m "追加了abc字符串"

6、查看提交日志

git log

简化输出的内容:

git log --pretty=oneline

效果展示:

在这里插入图片描述

7、将文件回退到上一个版本

git reset --hard head^

效果展示:

在这里插入图片描述

参数说明:

head:head 表示当前版本,则上一个版本表示为 head^,以此类推,上上一个版本为 head^^,也可表示为 head~2

8、通过id号回退到指定版本

此前,我们通过 git reset --hard head^ 命令回退到了上一个版本(参考7),现在,我们后悔了,想要撤回刚刚的回退,可以通过指定 commit id 来回退指定位置,注意:commit id 要根据自己的实际来填写,此处我的 commit idfa0e

git reset --hard fa0e

效果展示:

在这里插入图片描述

参数说明:

fa0e:该参数为想要回退的版本的 commit id的前4位,无需全部填写,git会自动查找

忘记了 commit id 怎么办,可以通过 git reflog 命令来查看你的历史命令

git reflog

效果展示:

在这里插入图片描述

$ git reflog
fa0ec7f (HEAD -> master) HEAD@{0}: reset: moving to fa0e        (1)
ffe9908 HEAD@{1}: reset: moving to head^                        (2)
fa0ec7f (HEAD -> master) HEAD@{2}: commit: 追加了abc字符串       (3)
ffe9908 HEAD@{3}: commit: 这是一次提交测试1                      (4)
564a0d0 HEAD@{4}: commit (initial): 这是一次提交测试             (5)

(1):该命令为执行 git reset --hard fa0e 后的结果,它提示我们移动到了 fa0e

(2):该命令为执行 git reset --hard head^ 后的结果(参考7),实际上就是从 fa0ec7f (3) 回退到了 ffe9908 (4)

(3)~(5):为历史提交的记录,前面的字符串即为 commit id

最后,可以通过 git log 命令再次查看当前版本库状态,图片显示已成功回退

9、撤回文件修改

(情况1): 假如修改了 readme.txt 文件,保存完退出后,后悔了,想要撤回刚刚的修改,回到之前未修改的状态:

git restore 文件名

git checkout -- 文件名

(情况2): 假如修改了 readme.txt 文件,保存完退出后,执行了 git add readme.txt 命令,此时文件被放到了暂存区,之后又打开了 readme.txt 文件,又进行了修改,保存完退出后,后悔了,想撤回刚刚的修改:

git checkout -- 文件名

注意:此时撤回的是第二次的修改,该命令无法撤回 git add 命令前的修改

(情况3): 假如修改了 readme.txt 文件,保存完退出后,执行了 git add readme.txt 命令,此时文件被放到了暂存区,后悔了,想要撤回修改:

git reset head 文件名

该命令相当于撤回刚刚执行的 git add readme.txt 命令

现在,想要撤回修改,还需要执行:

git checkout -- 文件名

(情况4): 假如修改了 readme.txt 文件,保存完退出后,执行了 git add readme.txt 命令,还执行了 git commit -m 提交说明 命令,想要撤回修改:

git reset --hard commit-id号

在这之前,如果不知道 commit-id号,可以先执行 git reflog 命令查看历史git命令,每行最前面显示的字符串即为 commit-id号(参考8)

10、文件删除撤回

假如我们执行了 git add 命令,将文件 readme.txt 添加到了暂存区,并且执行了 git commit 命令将文件都提交到了版本库中,现在,不小心删除了文件,现在执行 git status 查看状态:

效果展示:

在这里插入图片描述

可以通过命令撤回刚刚的删除:

git checkout -- readme.txt

如果我们就是想要删除该文件,需要执行:

git rm readme.txt

git commit -m "删除了readme.txt文件"

通过git命令删除后,还需要使用 git commit 命令进行提交

效果展示:

在这里插入图片描述

注意:如果文件从未提交到版本库(git commit),则无法通过以上命令恢复


11、Gitee 使用

1、注册登录后,右上角点击新建仓库

在这里插入图片描述

2、填写信息

在这里插入图片描述

3、创建 ssh 密钥:

ssh-keygen -t rsa -C "注册时的邮箱"

查看 ssh 密钥:

cat ~/.ssh/id_rsa.pub

在Gitee上进行配置:

在这里插入图片描述

验证连接情况(注意:杀毒软件可能出现拦截,如火绒):

ssh -T git@gitee.com

效果展示:

在这里插入图片描述

详情链接(转载):https://help.gitee.com/base/account/SSH公钥设置


12、将本地仓库与远程仓库相关联

1、复制仓库地址

在这里插入图片描述

2、添加远程仓库地址,在本地文件夹下运行命令:

(注意:将 git@gitee.com:xxx/backup-data.git 替换成刚刚自己复制的仓库地址)

git remote add origin git@gitee.com:xxx/backup-data.git

参数说明:

origin:该参数为远程仓库的名称,可自行更改

效果展示:

在这里插入图片描述

3、将本地提交推送至远程仓库

git push -u origin master

参数说明:

origin:该参数为远程仓库的名称,如果刚刚添加了多个仓库,此时就可以通过更改名称将文件推送到指定仓库

master:推送的分支

13、删除与远程仓库的连接

1、可以先查看连接的远程仓库信息

git remote -v

效果展示:

在这里插入图片描述

2、现在想要解除与某个远程仓库的连接

git remote rm origin

git remote remove origin

参数说明:

origin:该参数为远程仓库的名称,应根据自身实际填写

效果展示:

在这里插入图片描述

14、克隆远程仓库至本地

1、获取远程仓库地址

在这里插入图片描述

2、克隆远程仓库至本地,使用此方法,只要输入对方的远程仓库地址(前提是对方的仓库是公开的),方可将目标文件克隆至本地

如果是在自己的电脑上克隆,配置了ssh密钥,可使用此方式,当然,如果你的小伙伴也想用这种方式克隆,那他就必须在自己的电脑上生成一个ssh密钥,然后再让他把这个密钥发给你一份,在gitee上配置权限 (参考11 最后的ssh密钥配置部分)

git clone git@gitee.com:xxx/backup-data.git

如果你只是刚刚安装完git,只知道对方的仓库地址(http格式),要想克隆,则使用以下方法,比如你在GitHub上浏览别人的项目时,想要克隆一个别人的项目到自己的电脑,只需要复制对方的仓库地址(http格式)即可克隆下来:

git clone https://gitee.com/xxx/NodeJsNotes.git

效果展示:

在这里插入图片描述

15、模拟协同开发及拉取分支

在虚拟机上的CentOS 7安装git来模拟另一个团队成员(小明)与我的协同开发。

CentOS 7系统安装git:

进入root:

su root

yum install git

卸载:

yum remove git

安装命令参考:https://git-scm.com/download/linux

1、配置用户信息:

git config --global user.name "CentOS_L"

git config --global user.email "CentOS_L@qq.com"

2、创建 ssh 密钥(参考11):

ssh-keygen -t rsa -C "CentOS_L@qq.com"

查看 ssh 密钥:

cat ~/.ssh/id_rsa.pub

验证连接:

ssh -T git@gitee.com

生成ssh密钥后,且验证连接显示成功后,小明将密钥发给我,我将在Gitee上进行密钥的配置:

在这里插入图片描述

现在,我在桌面新建了一个 test 文件夹,添加了一个 test.txt 文件(写入任意内容,此处我写入 123),并执行如下命令:

git init

git add .

git commit -m "win10系统下的master分支提交了一个test.txt文件"

建立与远程仓库的连接:

git remote add origin git@gitee.com:xxx/backup-data.git

将文件推送至远程仓库:

git push origin master

查看远程仓库内的文件:

在这里插入图片描述

我们成功将win10系统上的文件推送至远程仓库了,现在,小明(CentOS 7)想要克隆这些文件,当然,我们得把远程仓库的地址告诉小明,由于我们在Gitee上也配置了小明的密钥,所以小明可以使用ssh方式克隆,即便仓库是私有的,如果没有配置ssh密钥,想要克隆,只能填写http地址的方式克隆,而且对方的仓库必须是公开的。

我们的远程仓库地址为:git@gitee.com:xxx/backup-data.git (根据自身实际填写)

小明(CentOS 7)执行如下命令克隆:

git clone git@gitee.com:xxx/backup-data.git

查看克隆情况:

在这里插入图片描述

在这里插入图片描述

现在,我们回到win10系统,创建一个 dev 分支:

git switch -c dev

我们在文件夹内创建一个 readme.txt 文件:

在这里插入图片描述

我们做完这些后,把这个 dev 分支推送至远程仓库,执行如下命令:

git add .

git commit -m "在win10系统下的dev分支添加了一个readme.txt文件"

dev 分支推送至远程仓库:

git push origin dev

在这里插入图片描述

现在,小明(CentOS 7)也想要 dev 分支中的内容,难道要重新克隆一份吗?并不需要

小明需要先进入克隆下来的文件夹,右键点击进入终端执行命令。

当我尝试执行命令 git checkout -b dev origin/dev 时,遇到了一个错误:

在这里插入图片描述

之所以报错,是因为小明在CentOS 7上先克隆了仓库,在这之后,我在win10系统上才推送了 dev 分支到远程仓库,所以小明的系统上没有得到及时更新,所以无法切换,现在,让小明先同步一下更新:

git fetch origin

在这里插入图片描述

再次执行:

git checkout -b dev origin/dev

命令说明:该命令表示为创建并切换至 dev 分支,参数 origin/dev 表示为将刚刚创建的 dev 分支与远程仓库(origin)的 dev 分支关联起来

问:为什么不用 git switch -c 命令来创建切换?答:可能因为git版本的问题,git switch 在此无法使用。

在这里插入图片描述

现在,小明修改了 readme.txt 文件,并进行了推送:

可能需要修改一下文件的只读权限:

sudo chmod a+w readme.txt

提交至版本库:

git add .

git commit -m "小明-CentOS 7上修改了readme.txt文件"

推送至远程仓库:

git push origin dev

在这里插入图片描述

远程仓库查看:

在这里插入图片描述

现在,我也修改了 readme.txt 文件,并尝试进行推送:

git add .

git commit -m "在win10系统下修改了readme.txt文件"

修改的内容:

在这里插入图片描述

git push origin dev

推送失败:

在这里插入图片描述

由于小明推送到远程仓库的内容与我推送上去的内容存在冲突(小明修改文件的内容为 123,而我修改的内容为 456,所以存在冲突),所以推送失败,它提示我们在推送之前先 git pull

git pull

拉去失败,它提示我们没有指定与远程连接的关联,也就是需要将本地的 dev 分支与远程仓库的 dev 进行关联:

在这里插入图片描述

将参数 <branch> 替换成远程需要关联的分支即可,参数dev 则为本地需要关联的分支。

git branch --set-upstream-to=origin/dev dev

git pull

在这里插入图片描述

打开冲突文件,手动解决冲突:

在这里插入图片描述

我们保留想要推送的内容:

在这里插入图片描述

手动解决冲突后,我们执行以下命令,再次推送:

git add .

git commit -m "win10系统上手动解决了冲突"

git push origin dev

推送成功:

在这里插入图片描述

查看远程仓库的内容:

在这里插入图片描述

在小明的系统上更新最新的提交:

git pull

在这里插入图片描述


16、分支

1、对分支的理解

也许我们可以理解为,你和你的团队在共同开发一个项目,这是主分支 master(默认分支),现在,有一个特定的模块只有你能完成,但是你开发这个模块需要很多时间,而且还需要进行相关的测试,如果此刻你将你那未完成的代码提交到了主分支(master),被其他成员克隆至本地后,这部分未完成的代码很有可能会使程序出现问题,对整体项目的开发造成影响。此时,我们就需要用到分支了,你可以创建属于自己的分支,你可以在自己的分支上进行任意的提交,也不会影响到主线任务,直至你将你的模块开发完毕,并经过测试后,再将这个分支合并到主分支(master)

2、创建并切换分支

git checkout -b dev

git switch -c dev

参数说明:

-b:表示创建并切换至 dev 分支

devdev 为我们的分支名称,可自行更改

checkoutswitch:用于切换分支,也可以切换回主分支 git checkout mastergit switch master

效果展示:

在这里插入图片描述

3、查看当前分支

git branch

效果展示:

在这里插入图片描述

4、在分支上进行提交,及分支的合并、删除

刚刚我们将分支切换到了dev,现在,可以在文件夹内创建一个 test.txt 文件(文件名、文件内容任意),并依次执行以下命令:

git add test.txt

git commit -m "在dev分支下创建了一个test.txt文件"

效果展示:

在这里插入图片描述

现在,让我们把分支切换回主分支(master):

git checkout master

效果展示:

在这里插入图片描述

可以观察到,test.txt文件不见了。同样的,对文件的修改、删除也具有相同的效果,不过记得执行 git addgit commit 命令。

现在,让我们将 dev 这个分支合并到主分支(master),这样,我们在 master 分支上就能看到 test.txt 文件了。git merge:合并指定分支到当前分支

git merge dev

效果展示:

在这里插入图片描述

删除 dev 分支:

git branch -d dev

它可能会提示删除失败,分支还未合并,强制删除:

git branch -D dev

5、解决冲突及合并时遇到的问题

(情况1): 不同分支下修改同一文件的同一行内容导致的冲突

假设,现在我们有两个分支(devmaster),且分别有一个空文件 test.txt

dev 分支下:在 test.txt 文件中输入了 123 ,之后提交至版本库(git add -> git commit)

现在,让我们切换至 master 分支,由于之前是在分支内操作的,并且还未合并,所以此时 master 分支下的 test.txt 文件也是空的。

master 分支下:在 test.txt 文件中输入 abc ,并提交至版本库

之后执行合并命令:git merge dev

显示自动合并失败:

在这里插入图片描述

现在,我们需要手动来解决冲突了,因为两个文件都在同一行写了不同的内容,git 不知道合并之后该听谁的(dev 分支下的test.txt 还是 master 分支下的 test.txt),所以它无法自动进行合并了。

现在,让我们打开 test.txt 文件来手动解决冲突,自行选择需要保留的内容:

在这里插入图片描述

在此,我们选择保留 master 分支上的内容,删除 dev 上的内容,修改后保存退出:

在这里插入图片描述

之后再次执行:

git add test.txt

git commit -m "解决合并冲突"

效果展示:

在这里插入图片描述

(情况2):在某个分支下删除了一个文件,合并后文件消失

为了更好的说明,现在,我在桌面创建了一个 test 文件夹,在该文件夹下创建了一个 test.txt 文件,之后执行如下命令:

git init

git add *

git commit -m "在master分支下提交了test.txt文件"

之后创建并切换至 dev 分支:

git switch -c dev

现在,在 dev 分支下删除 test.txt 文件,并执行:

git rm test.txt

git commit -m "在dev分支下删除了test.txt文件"

切换回 master 分支进行合并:

git switch master

git merge dev

合并后发现 test.txt 文件消失了。

如果此时,你想恢复该文件,则需要执行:

在这之前可以使用 git reflog 命令查看 commit-id

git reset --hard c19b263

相当于撤回了刚刚的合并,回到了合并前的状态,此处的 c19b263 为我提交时的commit-id 需根据自身实际填写

效果展示:(git-log 别名配置详见 错误整理->4、为命令配置别名)

在这里插入图片描述

6、bug分支

应用场景:在开发项目的过程中,我们一般遇到bug时,都会创建一个临时分支,在这个临时分支上进行修复,修复完成后,再进行合并,最后把这个临时分支删除。

现在,项目出现了bug,需要紧急修复,但是我们手头上的任务还未完成,不方便提交,但是我们此时需要创建一个临时分支来修复,怎么办?

也许,会有疑问,那不提交当前分支的内容,直接创建并切换到一个临时分支是否可行?

让我们尝试一下,假设我们刚刚在 master 分支下修改了一个 test.txt 文件,但是还未提交到版本库:

现在,我们尝试创建并切换分支,创建的分支名称为 bug001

git switch -c bug001

效果展示:

在这里插入图片描述

在创建并切换分支之前,我们查看状态后发现当前分支下(master)有一个修改了的文件(test.txt),并且它还未提交到版本库当中。

执行命令后,我们成功创建并切换了分支,但是查看状态后发现,刚刚 master 分支下未提交的文件还在,很明显,这个方法行不通了,那如果我们切换到一个已经存在的分支是否可行?

尝试切换到一个已存在的分支(假设我们之前创建过一个分支 dev):

git switch dev

效果展示:

在这里插入图片描述

切换失败了,它提示我们切换分支之前提交更改或将其隐藏起来,我们知道,现在不能把未完成的工作进行提交,但是,隐藏是什么,如何做?它的作用是将当前的工作目录隐藏起来

git stash

效果展示:

在这里插入图片描述

通过图片我们观察到,隐藏后它提示我们没有需要提交的文件,并且已经可以切换分支了,后续便是创建并切换到一个临时分支,在临时分支上进行bug的修复,提交,合并,最后删除临时分支。

修复完bug后,我们还需要进行刚刚未完成的任务,怎么显示刚刚被隐藏的内容:

查看被隐藏的工作区位置:

git stash list

效果展示:

在这里插入图片描述

恢复工作区,该方法不会删除隐藏的内容:

git stash apply stash@{0}

参数说明:

stash@{0}:隐藏的工作区编号,可以通过 git stash list 命令查看编号,如下图:

在这里插入图片描述

恢复后删除隐藏的内容:

git stash pop

7、其他分支命令补充

1、合并完,删除分支后,依然可以保留分支信息

git merge --no-ff -m "描述信息" dev

2、复制特定的提交到当前分支

应用场景:在 master 分支下创建并切换了一个新的分支 devmaster 分支下提交过的文件(test.txt),dev 分支下同样也有一份,现在,master 分支下修复了文件出现的bug(test.txt),并进行了提交,既然master 分支下的文件有bug,那 dev 分支下相同的文件也一定存在bug,怎么办,在 dev 分支下再修复一次?不需要,我们只要知道 master 分支修复时提交的 commid-id号 即可,再通过 cherry-pick 相关命令,即可将 master 分支下修复的操作再现一遍,这样我们在dev 分支下的bug也就被修复了。commid-id号 可以通过命令 git reflog 查看:

git cherry-pick commid-id号

3、强行删除一个未合并的分支

git branch -D 分支的名称


错误整理、发现的问题及解决

1、推送仓库时出错

在这里插入图片描述

原因:远程仓库与本地仓库不一致,远程仓库推送过文件,但是手动删除了,此时远程仓库里面并没有文件

解决:清空远程仓库,再次推送(此方法只适用于远程仓库曾手动删除了所有文件的情况)

在这里插入图片描述

2、退出历史命令记录

当我们执行 git reflog 命令时,可能会出现如下图的情况,按 esc 也无法退出,此时,只要键盘按 qwq 即可退出,只要想退出了,都可以直接退出,无需出现图片中的 (END) 符号。

在这里插入图片描述

3、git bash复制粘贴

方法一:鼠标选中即可复制,按下鼠标中键即可粘贴

方法二:键盘快捷键

复制:ctrl + ins

粘贴:shift + ins

ins 键如图:(图片来源于 104键键盘布局高清示意图

在这里插入图片描述

4、为命令配置别名

查看分支的合并情况:

git log --graph --pretty=oneline --abbrev-commit

在这里插入图片描述

命令太长了,不容易记,我们可以为该命令配置别名,执行以下命令,将会在 C盘\用户\asus (路径可能不同,应根据自身实际查找)路径下创建一个 .bashrc 文件:

touch ~/.bashrc

在这里插入图片描述

在此,我们将刚刚的命令起别名为 git-log

alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'

在这里插入图片描述

之后,执行以下命令即可:

source ~/.bashrc

在这里插入图片描述

其他设置别名方法:

git config --global alias.st status

删除别名:

git config --global --unset alias.st

在这里插入图片描述

git设置和删除命令别名的方法(转载):https://segmentfault.com/a/1190000020894321

5、配置好ssh密钥后仍然无法连接Gitee

在虚拟机上配置完ssh密钥后,测试连接显示失败:

在这里插入图片描述

原因:它提示是否要继续连接,但是直接回车是不行的,必须输入 yes 才能连接:

在这里插入图片描述

6、删除远程仓库分支

1、先删除本地仓库的分支

git branch -d dev

可能会删除失败,它会提示你还未合并,强制删除:

git branch -D dev

2、删除远程仓库的分支

git push origin --delete dev

参考链接(转载):https://blog.csdn.net/qq_20042935/article/details/107222147

7、Gitee仓库最大容量

在这里插入图片描述

详情请见:https://help.gitee.com/questions/Gitee产品配额说明#社区版个人用户

8、拉取时报错

报错截图:

在这里插入图片描述

执行以下命令强制合并后再推送:

git pull origin master --allow-unrelated-historie

参考链接(转载):https://cloud.tencent.com/developer/article/1640651

9、退出提示消息界面

在这里插入图片描述


其他命令补充

1、图形化界面

gitk

2、设置git的输出为彩色

git config color.ui true

3、为分支打标签

git tag 标签名称

查看标签:

git tag

删除标签:

git tag -d 标签名称


快速开始

假设,现在你刚刚安装完git,需要推送一个本地文件夹内的所有文件到远程仓库(已建好,并且已配置好ssh密钥,如何配置(参考11)),远程仓库地址为(git@gitee.com:xxx/backup-data.git

进入目标文件夹,执行以下命令:

git init

git config --global user.name "L"

git config --global user.email "L@qq.com"

git remote add origin git@gitee.com:xxx/backup-data.git

git add .

git commit -m "提交说明"

git push origin master

每次修改完文件或添加了新文件,只需要执行上述命令的最后3条即可推送至远程仓库。适用于只是想要备份文件的场景。

当然,如果你的仓库设置为公开的,你的小伙伴也下载了git,他也想要你仓库中的文件,怎么做?你需要告诉他你仓库的地址(http格式),之后他只需要执行以下命令即可:

git clone https://gitee.com/xxx/backup-data.git


总结

本文为学习git时所记录的笔记,主要通过 廖雪峰的Git教程 进行学习,记录了一些常用的命令,以及自己在学习过程中遇到的问题,记录的方式主要以 命令+个人理解+命令运行截图为主,图片较多,个人认为如果附上运行结果可能对初学者较为友好,我也希望自己在学习的时候也能遇到图文并茂的教程,一方面如果只有文字和命令有些时候或许不太直观,看多了也容易疲惫,另一方面初学者可能会因为不确定执行完命令是否正确而纠结,文中对一些概念的理解可能也会存在一些表述不准确的地方,还望指正,也希望读者能从中获得帮助。

本文主要记录git的基本使用,当然,相关的命令并不止这些,这只是一小部分,且命令涉及的原理并没有进行相关说明,想要了解更多详见 (参考链接)


参考链接


其他

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值