当前位置:   article > 正文

Ubuntu系统使用快速入门实践(八)—— git 命令使用_ubuntu 初始化git

ubuntu 初始化git

Ubuntu系统使用快速入门实践系列文章

下面是Ubuntu系统使用系列文章的总链接,本人发表这个系列的文章链接均收录于此

Ubuntu系统使用快速入门实践系列文章总链接


下面是专栏地址:

Ubuntu系统使用快速入门实践系列文章专栏



前言

Ubuntu是一个以桌面应用为主的Linux发行版操作系统,也是大多数人第一个接触到的Linux系统,尤其是从事理工科研究工作的人,这个系列的文章主要讲述如何使用Ubuntu系统,完成日常的学习、科研以及工作


Ubuntu系统使用快速入门实践(八)—— git 命令使用

安装git

终端使用以下命令:

sudo apt install git
  • 1

修改host文件来访问GitHub

参考:修改host文件来访问GitHub

说明

国内无法访问GitHub的问题除了用某工具访问,还可以通过host文件来达到效果,缺点就是需要经常更新ip地址。

git clone 速度慢的问题

参考:

解决git clone 速度慢的问题

git clone特别慢是因为 github.global.ssl.fastly.net 域名被限制了。

只要找到这个域名对应的ip地址,然后在hosts文件中加上ip–>域名的映射,刷新DNS缓存便可。

一、查询ip地址

通过以下网址来查询

http://ip.tool.chinaz.com/

https://www.ipip.net/

https://www.ipaddress.com/

查询下列三个网址的IP

github.com
assets-cdn.github.com
github.global.ssl.fastly.net
  • 1
  • 2
  • 3

https://www.ipaddress.com/ 的查询结果如下

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

二、修改host文件

host文件在

(Windows系统)

C:\Windows\System32\drivers\etc
  • 1

(linux系统)

/etc/hosts
  • 1

打开host文件之前先修改权限

方法:

新开一个终端窗口进入路径/etc,查看hosts的权限

ls -l hosts
  • 1

可以看到,其的拥有者和所属组为root,对于其他用户只对其有只读权限,所以在当前的用户下无法对其进行写的操作,本人是采用先将本用户改为其拥有者,对其修改后再将拥有者改回。

先修改所拥有者 sudo chown yangtsejin hosts

在这里插入图片描述

再在/ect目录下打开hosts,添加数据行,添加完后将拥有者改回root

在这里插入图片描述

如此处添加行

20.205.243.166       github.com
185.199.111.153    assets-cdn.github.com
182.50.139.56        github.global.ssl.fastly.net
  • 1
  • 2
  • 3

在这里插入图片描述

有时候用git clone下载文件很慢,要将IP改为国外的IP,再用梯子下载

#github start

151.101.1.194 github.global.ssl.fastly.net
151.101.65.194 github.global.ssl.fastly.net
151.101.129.194 github.global.ssl.fastly.net
151.101.193.194 github.global.ssl.fastly.net

# 下面的截图IP地址有误,以这里为准
140.82.114.3 github.com

185.199.108.153 assets-cdn.github.com
185.199.109.153 assets-cdn.github.com
185.199.111.153 assets-cdn.github.com

# github end
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

在这里插入图片描述

三、更新dns缓存

参考:

ubuntu 20.04清除DNS缓存

ubuntu刷新自己dns

Windows中用cmd(以管理员身份)输入

ipconfig/flushdns
  • 1

将DNS设置为 8.8.8.8,为谷歌的服务器

在Ubuntu中使用命令

# 我的Ubuntu没有这个命令
sudo /etc/init.d/dns-clean start

# 或者
sudo apt-get install nscd
sudo /etc/init.d/nscd restart

# 或者暴力重启刷新DNS
sudo /etc/init.d/networking restart

# (推荐)等待几秒钟,清除DNS缓存的命令就会执行完毕。
sudo systemd-resolve --flush-caches
#或者
sudo systemctl restart systemd-resolved
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

git使用

参考:

Ubuntu20.04下使用git上传本地项目

【git】git@github.com: Permission denied (publickey).报错问题

Ubuntu系统下如何提交代码到GitHub

如何使用git上传文件到Github远程仓库(完整详细流程)

git文档:https://git-scm.com/book/zh/v2

git流程

在这里插入图片描述

测试ssh

在终端输入

ssh -T git@github.com
  • 1

显示:

git@github.com: Permission denied (publickey).
  • 1

在这里插入图片描述

这时候需要建立公钥。

建立公钥

如果要连接github,那么每一台设备要单独设置一个密钥

在github上按照下图点击,找到如下界面:

1)右上角找到并点击settings

在这里插入图片描述

2)左边找到并点击SSH and GPG keys,添加 SSH key

在这里插入图片描述

出现如下界面

在这里插入图片描述

3)在该界面找到 New SSH Key,并点击

在这里插入图片描述

4)返回终端输入

ssh-keygen -C "xx@xx.com" -f ~/.ssh/github
  • 1

邮箱为自己创建github时用的邮箱,按两次Enter,出现如下代码:

Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/jin/.ssh/github
Your public key has been saved in /home/jin/.ssh/github.pub
The key fingerprint is:
SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxx@gmail.com
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

5)在终端输入命令

cat ~/.ssh/github.pub
  • 1

出现公钥,将公钥复制到第3)步的key里面,title随便写个名字即可,然后点击Add SSH Key。

在这里插入图片描述

在这里插入图片描述

6)在终端输入命令

ssh -T git@github.com
  • 1

出现以下代码意味着该步骤完成。

Hi wwtx! You've successfully authenticated, but GitHub does not provide shell access.
  • 1

如果添加完密钥后还是出现无法连接的情况

在这里插入图片描述

因为不能用SSH来输入 ssh -T git@github.com 命令,要用主机先连接才能使用

github上建立新的仓库

点击Repositories,然后点击New新建一个仓库

在这里插入图片描述

点击进入建立的仓库中,界面如下:

在这里插入图片描述

建立本地仓库

1.在自己的Ubuntu系统下建立自己的本地仓库(文件夹),可以用ll命令查看生成的.git初始化文件

git init
ll
  • 1
  • 2

2.创建自己需要提交的文档,例如

echo "# test" >> test.txt
  • 1

3.查看文件状态

git status
  • 1

显示都还未提交

在这里插入图片描述

4.追踪文件

git add test.txt
#或者
git add . # 把当前文件夹下的所有文件加入提交的cache

git rm --cached test.txt # 取消追踪文件
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

5.提交修改的文件到本地仓库

# 添加文件备注
git commit -m "注释"
git commit -m "first blog"
  • 1
  • 2
  • 3

这时提示我要输入自己的信息

在这里插入图片描述

配置完成后可以正常提交

在这里插入图片描述

提交到github

git push的一般形式为

git push <远程主机名> <本地分支名> <远程分支名> 
  • 1

提交到github仓库

法1:HTTP方式

因为本地的分支默认为master,如果是推送到main分支,则

git推送代码到main分支

# 切换到main分支并进入
git checkout -b main

#删除本地的master分支
git branch -D master 

# 推送时用下面的命令
git push -u origin main
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

如果不用切换到main分支,则如下

git remote add <名称> <地址>
# 例如:(建立的仓库中有引导的命令行)
git remote add origin https://github.com/Aidensjl/file.git
git branch -M master
git push -u origin master

# 如果提示需要输入密码,则用下面的命令
# xxx换为你的令牌
git remote set-url origin https://xxx@github.com/Aidensjl/file.git
git push -u origin master
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
法2:SSH方式

参考:

使用SSH建立Git 远程仓库和本地库连接

  • 法1是使用自定义使用时长的token上传代码
  • 法2是保存github的秘钥后,可以直接push代码

使用SSH方式方便很多,因为HTTPS方式每次新建仓库都需要用户验证,输入远程的密钥。

SSH密钥添加到本地电脑,并且验证成功后,复制仓库中的SSH地址,即可直接提交,如下所示

git remote add origin git@github.com:yangtseJin/FAST_LIO-Study.git
git push -u origin main
  • 1
  • 2
出现错误

这里提交时,需要输入账号密码,然后出现错误

在这里插入图片描述

问题解决

出现的原因是自从 21 年 8 月 13 后不再支持用户名密码的方式验证了,需要创建个人访问令牌(personal access token)。

在github主页的用户setting中选择Developer setting 生成personal access tokens,选项全选,生成的令牌记得保存,只会出现这一次!!!

在这里插入图片描述

修改现有的url

git remote set-url origin  https://<your_token>@github.com/<USERNAME>/<REPO>.git
# 将<your_token>换成你自己得到的令牌。<USERNAME>是你自己github的用户名,<REPO>是你的项目名称
# 例如:xxx换为你的令牌
# 通常Token的有效期最多是30天,也就是说登录成功后,30天内做的任何提交到远程都不需要再次登录,但是可以自己设置有效期,最多
git remote set-url origin https://xxx@github.com/Aidensjl/file.git
# 最后
git push -u origin master
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

设置有效时间为90天

在这里插入图片描述

下面的所有选项全部勾选,其实勾选 repo 和 workflow即可

在这里插入图片描述

设置完成

在这里插入图片描述

然后设置 url,完成后即可正常push代码

在这里插入图片描述

修改后再次提交

参考:

Git Commit基础知识

一文教你如何设置git commit模板规范

代码已经提交过了,修改后需要再次提交,按如下命令

git add .
git status
git commit -m "modified"
git push
  • 1
  • 2
  • 3
  • 4

提交完成后,如果您意识到提交消息不正确或有些文件丢失,可以修改先前的提交。

git commit --amend -m "New commit message"
  • 1

此命令允许您修改先前的提交消息或向先前的提交添加文件。新更改将添加到先前的提交中,并进行更新。

直接在文件中修改即可

在这里插入图片描述

Git提交命令使用摘要

以下是Git提交命令使用摘要:

  • git commit -m "提交信息":创建一个带有提交信息的新提交。
  • git add .:将所有文件添加到暂存区。
  • git add <文件名>:将指定文件添加到暂存区。
  • git branch <分支名>:创建新分支。
  • git checkout <分支名>:切换到指定分支。
  • git commit --amend -m "新的提交信息":修改先前提交的提交信息。
  • GIT_AUTHOR_DATE="YYYY-MM-DD HH:MM:SS TZ" GIT_COMMITTER_DATE="YYYY-MM-DD HH:MM:SS TZ" git commit -m "提交信息":创建一个带有特定日期的提交。
  • git add -p <文件名>:提交对文件的部分更改。

提交大文件

参考:

解决github上传大文件超过100M的问题

【Git】保姆级教程:如何在 GitHub 上传大文件(≥100M)?(含自己的操作流程)

轻松上传超过100M的文件至GitHub

Git LFS的下载安装

  • 官网:https://git-lfs.github.com/
  • mac利用brew来下载:brew install git-lfs
  • linux利用apt-get来下载:apt-get install git-lfs
  • Windows利用scoop来下载: scoop install git-lfs

输入下面的命令,检查 Git LFS 是否安装好了,并初始化

git lfs install
  • 1

在这里插入图片描述

这表示 Git LFS 已成功安装和初始化。

现在,你的系统已安装 Git LFS,并可以在 Git 仓库中使用 Git LFS 来管理大文件。你可以使用其他 Git LFS 命令来跟踪大文件、添加文件到 Git LFS 管理、推送和拉取文件等操作。请确保你的 Git 服务器和其他协作者也已正确配置和支持 Git LFS,以便顺利地使用 Git LFS 功能。

如果已经输入了上面的语句,再次输入会出现下图结果:

在这里插入图片描述

跟踪一下你要上传(push)的文件或指定文件类型

git lfs track "*.pth"
  • 1

这将告诉 Git LFS 跟踪所有扩展名为 .pth 的文件,并使用 Git LFS 进行管理。

完成上述步骤后,Git LFS 将会跟踪并管理所有匹配 .pth 扩展名的文件。在提交、推送和拉取时,Git LFS 会相应地处理这些大文件,确保它们被正确地上传和下载。

添加.gitattributes
.gitattributes 是 Git 的一个配置文件,用于指定特定文件或文件类型的属性和处理方式。它可以用于定义 Git 在处理文件时的行为,例如在版本控制、合并和检出文件时的属性设置。

.gitattributes 文件的作用包括:

  • 文件属性设置:你可以使用 .gitattributes 文件指定特定文件或文件类型的属性。例如,你可以定义某个文件应被视为二进制文件,或者使用 Git LFS 进行管理。
  • 文本处理:.gitattributes 文件可以用于指定文本文件的行尾格式(如 CRLF 或 LF),这对于跨平台协作很有用。你可以设置文件的 text 或 binary 属性,控制 Git 是否将其视为文本文件。
  • 合并策略:通过 .gitattributes 文件,你可以为不同类型的文件指定合并策略,以决定在合并分支时如何处理这些文件的冲突。
  • 过滤和清理:.gitattributes 文件允许你配置 Git 过滤器,以在提交或检出文件时执行自定义的过滤和清理操作。这对于对文件进行自动处理、格式转换或敏感信息过滤很有用。

.gitattributes 文件的语法是基于模式匹配的,你可以使用通配符、正则表达式和文件路径模式来匹配文件,并为其指定相应的属性和操作。

请注意,.gitattributes 文件需要添加到 Git 仓库,并确保其他协作者在克隆或拉取仓库时能够正确应用这些属性规则。

只有先把".gitattributes"传上去,才可以上传大文件。在命令行终端中,使用 Git 命令将 .gitattributes 文件添加到仓库并提交:

git add .gitattributes
git commit -m "submit file"
git push -u origin master
  • 1
  • 2
  • 3

回车

PS:最终上传完毕后会在GitHub上看到:

在这里插入图片描述

上传完毕后,开始上传大文件。

然后添加要上传(push)的文件并提交(commit),方法和之前一样

如果提交时显示下面的错误

在这里插入图片描述

则将命令复制一遍输入即可

git config lfs.https://github.com/yangtseJin/Matlab-GUI-Projects.git/info/lfs.locksverify false
  • 1

上传空文件夹

参考:

git 上传空文件夹

空文件夹默认不会上传到远程仓库。如果想在远程仓库中保存一个空文件夹作为占位符的话,可以在空文件中创建一个.gitkeep 文件即可

touch .gitkeep
  • 1

说白了就是再创建一个空文件,使得你的文件夹不是空文件夹了,这是个取巧的做法。

更合理的做法是:在空文件夹下新建.gitignore文件,文件内容:

# Ignore everything in this directory
*
# Except this file
!.gitignore
  • 1
  • 2
  • 3
  • 4

这样一来,这就才是名副其实的空文件夹,除了.gitignore的其它文件都会被忽略掉!

撤销add和commit

参考:

撤销 git add 和 git commit 操作

  1. 撤销 git add

如果是撤销所有的已经add的文件:

git reset HEAD -- .
  • 1

如果是撤销某个文件或文件夹:

git reset HEAD -- filename
  • 1
  1. 撤销 git commit
git reset --soft HEAD^
  • 1

HEAD^的意思是上一个版本,也可以写成HEAD~1
如果你进行了2次commit,想都撤回,可以使用HEAD~2

其他参数解析:

  • –soft
    不删除工作空间改动代码,撤销commit,不撤销git add .
  • –mixed
    不删除工作空间改动代码,撤销commit,并且撤销git add .
    这个为默认参数, git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。
  • –hard
    删除工作空间改动代码,撤销commit,并且撤销git add .

补充:如果该仓库到目前为止只有commit过一次代码,则会报错:

$ git reset HEAD^
fatal: ambiguous argument 'HEAD^': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
  • 1
  • 2
  • 3
  • 4

更换远程仓库

参考:

git通过命令更换远程仓库地址-----和更换地址后对项目进行操作显示无权限问题

方法一 : 通过命令直接修改远程仓库地址

git remote 查看所有远程仓库
git remote xxx 查看指定远程仓库地址
git remote set-url origin 你新的远程仓库地址
  • 1
  • 2
  • 3

方法二: 先删除在添加你的远程仓库

git remote rm origin
git remote add origin 你的新远程仓库地址
  • 1
  • 2

方法三: 直接修改你本地的.git文件

这里需要注意的问题是需要进入你的项目目录中
例如:你的项目名为test,那么你就进入test文件夹。
.git文件是隐藏文件你需要显示隐藏文件才能看见

其他操作

查看历史提交记录

git log
  • 1

在这里插入图片描述

查看当前有哪些分支

git branch
  • 1

在这里插入图片描述

注:没有创建分支的情况下,只有master

添加分支

git checkout -b  分支名称 
git branch –d  分支名称   #删除分支
  • 1
  • 2

注:回到主分支 git checkout master

回到历史的某个版本

git check commit  id编号
  • 1

注:id 可以用git log 查找

把文件push到网站上

git push origin master
  • 1

注:一般在git add 及 git commit -m ‘xx’ 之后

列出远程分支

git remote
git remote -v     #列出详细信息
git remote add origin https://github.com/wkslearner/scikit_learn.git
  • 1
  • 2
  • 3

在这里插入图片描述

把缓存区数据添加到远程

参考:

Git入门——Git push 常见用法

git push -u origin sk_learn
  • 1

把缓存区数据提交到仓库

git push的一般形式为 git push <远程主机名> <本地分支名> <远程分支名>,例如 git push origin master:refs/for/master ,即是将本地的master分支推送到远程主机origin上的对应master分支, origin 是远程主机名,第一个master是本地分支名,第二个master是远程分支名。

  • git push origin master

如果远程分支被省略,如上则表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则会被新建

  • git push origin :refs/for/master

如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支,等同于 git push origin —delete master

  • git push origin

如果当前分支与远程分支存在追踪关系,则本地分支和远程分支都可以省略,将当前分支推送到origin主机的对应分支

  • git push

如果当前分支只有一个远程分支,那么主机名都可以省略,形如 git push,可以使用 git branch -r ,查看远程的分支名

常用举例

git push <本地分支的名字> : <远程库的名字>

git push 肯定是推送

origin : 是远程的库的名字

HEAD: 是一个特别的指针,它是一个指向你正在工作的本地分支的指针,可以把它当做本地分支的别名,git这样就可以知道你工作在哪个分支

refs/for :意义在于我们提交代码到服务器之后是需要经过code review 之后才能进行merge的

refs/heads 不需要通过git status命令可以查看当前工作区和暂存区文件的状态。

常用命令

git status //状态查看
git add . //追踪
git config -l //配置查看
git config --unset XXX //取消某些配置
git commit -m "xxx" // 提交
git push -u 名称 分支 //上传
git log --oneline --decorate --graph --all //查看分支结构
git branch -d xxx //删除本地分支
git checkout xxx //切换分支
git checkout -b xxx //新建本地分支
git merge --no-ff xxx //不采用快照ff模式,合并到xxx位置
git pull --rebase //将远端仓库的修改和本地的修改进行合并形成最新的提交
git push origin xxx //建好本地分支后,在输入该指令建立远程分支
git push origin :xxx //删除远程分支但是不会删除本地分支
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

多人合作

如果是在另外电脑向同一个远程仓库进行提交(可以看作多人合作)

不是直接git init,而是将远程仓库进行git clone 下来进行修改,然后进行提交就可以

不然会出现无法提交,或者需要git pull等问题

回到原本的仓库,由于远程仓库已经被修改,需要 git pull 拉取更改后的仓库文件,然后进行后续修改操作

下载指定分支tags的代码

参考:

GitHub下载克隆clone指定的分支tags代码

解决方法:
命令:

git clone -b [tags标签] [git地址]
  • 1

例如:

git clone -b v2.0.2 https://github.com/spring-projects/spring-retry.git
  • 1

若想对克隆后的项目重命名则可执行以下命令

git clone -b [tags标签] [git地址] [重命名]
  • 1

例如:

git clone -b v2.0.2 https://github.com/spring-projects/spring-retry.git spring-retry-2.0.2
  • 1

克隆私有项目

如果是public的项目,可以直接克隆,如果是private的项目,克隆时需要输入token

# 在github.com前面加上上面拿到的 access token 和 token的名字
# 示例: tokens-name:tokens 
git clone https://tokens-name:tokens@github.com/yangtseJin/VINS-Mono-Study.git
  • 1
  • 2
  • 3

注意:

这里在token前面要加上token的名字,不像http上传时只加token,

token name如下

在这里插入图片描述

示例如下

在这里插入图片描述

设置仓库为private或public

参考:

Github私有仓库改为公开仓库

选择 Settings

在这里插入图片描述

选择仓库的可见性

在这里插入图片描述

遇到的问题

错误1

参考:

WSL-Ubuntu系统中git使用报错问题解决:GnuTLS recv error (-110): The TLS connection was non-properly terminated

提交时报错

fatal: unable to access 'https://github.com/yangtseJin/VINS-Fusion-Study.git/': GnuTLS recv error (-110): The TLS connection was non-properly terminated.
  • 1

在这里插入图片描述

只需要更新一下git就好了

sudo add-apt-repository ppa:git-core/ppa
sudo apt update
sudo apt install git
  • 1
  • 2
  • 3

错误2

参考:

git 报错:Updates were rejected because the remote contains work that you do问题

[git出现这种错误是什么原因?error :hint?](https://segmentfault.com/q/1010000002736986)

被拒绝提交

 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'https://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@github.com/yangtseJin/VINS-Fusion-Study.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述

远程分支上存在本地分支中不存在的提交,往往是多人协作开发过程中遇到的问题,可以先fetchmerge,也就是pull,把远程分支上的提交合并到本地分支之后再push

如果你确定远程分支上那些提交都不需要了,那么直接

git push origin master -f
  • 1

强行让本地分支覆盖远程分支

错误3

参考:

git 解决push报错:[rejected] master -> master (fetch first) error: failed to push some refs to

我在线上生成了README,但是本地没有,就会报拒绝连接的错误

在这里插入图片描述

解决办法:

将线上、线下代码进行合并

git pull --rebase origin master
  • 1

然后再进行push

git push origin master
  • 1

错误4

参考:

Git:解决报错:fatal: The remote end hung up unexpectedly

Github issue. fatal: the remote end hung up unexpectedly

上传代码时报如下错误,

fatal: the remote end hung up unexpectedly
  • 1

在这里插入图片描述

解决办法1:

修改设置git config文件的postBuffer的大小。(设置为500MB)

git config --local http.postBuffer 524288000
  • 1

注:–local选项指定这个设置只对当前仓库生效。

但是设置了文件大小也不行?

还可以设置更大一点的缓存区

https://github.com/huggingface/transformers/issues/17813#issuecomment-1638743895

git config http.postBuffer 99999999
  • 1

解决办法2:

直接修改本地仓库的.config文件。

增加下图所示的两行内容

[http]
	postBuffer = 524288000
  • 1
  • 2

解决办法3:

使用仓库的SSH地址提交,而不用HTTP地址提交

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/762126
推荐阅读
相关标签
  

闽ICP备14008679号