乱七八糟的问题们
写在最前面-遗留问题
笑死,博客又很久不更新了,最近在写一个web的作业,想着要不放到GitHub上去吧,把git又拾起来看一下。然后更新网页的时候忘记博客怎么上传了。。。
想了很久,想起来原来我是建立在hexo上的啊!(甚至忘了当时怎么建站的了…看来笔记还是很重要的)不是git语法 那就顺便在这里记一下 省的每次都搜
1 | hexo s //预览 hexo server |
图床问题
之前打igem的时候其实就遇到过图床问题。不过后来发现官方那边给配好了图床,还挺好用的,于是又搁置了。
今天登陆picgo发现我竟然把图床配好了,实在是很神奇,已经想不起来怎么配的了…
测试一下:
竟然可以用(? 不是说有防盗链问题吗
太好用了。。相比之下我之前我把图片传到CSDN的博客,拿CSDN当图床也太蠢了
GitHub仓库管理和绑定
其实之前用gitlab的时候弄过一下子,但是我又忘了(阿巴阿巴
首先因为我是直接在本地git init
建好项目
随后又在GitHub上搭建仓库(不是空的,自带了readme)
所以出现了版本打架问题
其实如果先在GitHub上建好仓库,直接git clone到本地就好了
使用 HTTPS连接到 GitHub
仓库的url在这里
按照以下步骤:
-
使用
git add
命令将文件添加到 Git 仓库的暂存区。 -
使用
git commit
命令来提交暂存区的更改到本地仓库,同时附带一条提交信息,例如:git commit -m "Initial commit"
-
使用以下命令将本地仓库与 GitHub 仓库关联,并将本地更改推送到 GitHub 仓库。
1
2
3git remote add origin https://github.com/wxhxyyzm/tospeech.git
git branch -M main
git push -u origin main
当时有个问题,就是最后git push
的时候报错fatal: unable to access 'https://github.com/wxhxyyzm/tospeech/': Failed to connect to github.com port 443 after 21076 ms: Timed out
说是网络和代理有问题,当时没仔细检查,就直接换了使用 SSH 访问
使用 SSH连接到 GitHub
步骤如下:
-
生成 SSH 密钥:
-
打开命令行终端。
-
运行以下命令生成 SSH 密钥对:
1
ssh-keygen -t ed25519 -C wxhxyyzm@163.com
-
在上述命令中,邮箱就是在 GitHub 上注册的电子邮件地址。
-
默认情况下,SSH 密钥将保存在用户主目录的
.ssh
文件夹中。
-
-
添加 SSH 密钥到 SSH 代理:
-
使用 SSH 代理,可以运行以下命令来将 SSH 密钥添加到代理,以便无需每次输入密码:
1
ssh-add ~/.ssh/id_ed25519
-
-
添加公钥到 GitHub 帐户:
-
复制公钥,可以使用以下命令来将公钥内容复制到剪贴板:
1
clip < ~/.ssh/id_ed25519.pub
或者直接找到文件用txt打开,复制粘贴
-
登录到GitHub 帐户。
-
在右上角点击头像,然后选择 “Settings”。
-
在左侧边栏中,选择 “SSH and GPG keys”。
-
点击 “New SSH key”。
-
在 “Key” 字段中,粘贴公钥内容。
-
给密钥一个描述(Title),以便识别。
-
点击 “Add SSH key”。
如图:
-
-
使用 SSH URL 连接到 GitHub:
-
在GitHub 仓库页面上,找到 SSH URL。(在HTTPS旁边)
-
使用以下命令将本地仓库与 GitHub 仓库关联,并将本地更改推送到 GitHub 仓库。确保替换
<GitHub SSH URL>
为 GitHub 仓库 SSH URL:1
2
3bashCopy codegit remote add origin <GitHub SSH URL>
git branch -M main # 如果你的默认分支是 main
git push -u origin main # 如果你的默认分支是 main
-
现在,项目将使用 SSH 连接到 GitHub,而不是 HTTPS。
以上是GPT写的办法,步骤中有一些bug,还有这个参考链接
问题
密钥问题
有这样的报错信息C:\Users\wxhxy>ssh-add ~/.ssh/id_ed25519 Error connecting to agent: No such file or directory
发现是没启动代理(存疑),我之前明明设置的都没问题
解决办法如下:
在Windows上,可以使用以下方式来启动SSH代理并添加SSH密钥:
-
启动SSH代理:
打开一个Git Bash或Windows命令提示符窗口,并执行以下命令来启动SSH代理:
1
eval $(ssh-agent)
或者,如果使用Windows命令提示符,可以使用以下命令:
1
ssh-agent
-
添加SSH密钥:
在同一终端窗口中,执行以下命令来添加SSH密钥:
1
ssh-add ~/.ssh/id_ed25519
确保已经在正确的目录中,~/.ssh/id_ed25519
是SSH私钥的路径。如果在执行命令时遇到问题,请检查SSH密钥的路径是否正确,确保文件存在。
分支问题
这一块我遇到一堆问题 检查自己的url没问题
报错
1 | D:\ABOUT\大三\人机交互\ToSpeech>git push |
解决办法:
这个错误消息表明 Git 发现当前的分支 main
没有与远程分支关联。为了解决这个问题,可以按照建议使用 --set-upstream
选项将本地分支与远程分支关联起来,并推送更改到远程仓库。执行以下命令:
1 | git push --set-upstream origin main |
这将把 main
分支与 origin
远程分支关联起来,并将本地分支更改推送到远程仓库。之后,可以使用 git push
来推送更改,不再需要指定 --set-upstream
选项。
继续报错
1 | D:\ABOUT\大三\人机交互\ToSpeech>git push --set-upstream origin main |
说是表明本地分支 main
与远程分支存在冲突,后面试了几个办法都有问题
后来找到解决办法就是之前说的版本问题
因为我在本地项目里面安装过一些包了,同时远程仓库又有readme,不是空的
解决办法就是强制合并
git pull --allow-unrelated-histories
不知道中间进行了什么奇怪的操作,导致分支起点不一样了,就很见鬼。
这样git pull
之后再git push
,就没问题了
泪目,怎么有人愚蠢的问题一而再再而三的搞不明白
代理问题
基本上和这个博客说的差不多参考链接
应该就是挂梯子的问题,反正后来没搞明白,直接把梯子关了,就好了
(计网学了和没学一样 感觉很多东西都比较迷糊
我的评价:不如GPT 人工智能什么时候把我优化掉