github远程仓库管理+hexo博客迁移
git远程仓库管理
使用git上传到github
建议:这个过程中可能会遇到一些问题,你把这篇通读完,可能有你遇到的问题,祝好!
首先拥有一个github账号,注册官网:GitHub
需要用到的软件git,下载官网:Git官网
安装完成后,打开Git Bash
配置github上的名字和邮箱
git config --global user.name "GitHub用户名"
git config --global user.email "GitHub邮箱"
可以使用git config --global --list
查看是否配置成功
在 github 上添加 SSH key
ssh-keygen -t rsa -C "GitHub邮箱名"
生成后在C盘的用户文件夹下,注意是隐藏文件
具体添加方法见博客:Git安装以及配置SSH Key——Windows
配置好后,本地创建:
mkdir learngit
cd learngit
pwd
/Users/michael/learngit
初始化仓库
git init
添加、创建文件,比如添加一个readme.md
touch readme.md
添加:
git add readme.md
git commit -m "wrote a readme file"
实现全部添加
git add --all
git commit -m "add all file"
绑定github的仓库地址
git remote add origin 仓库的ssh地址
提交到远程仓库
git push origin master
注意
这是提交到master分支
如果提交到其他分支,比如main分支,要这样写:
git push origin main
如果提交的分支不存在,则会自己创建一个在push到GitHub
从远程克隆带本地
git clone ssh地址或者https地址都行
注意:pwd查看路径,是克隆到当前的路径下
下次修改项目或者添加、修改文件后,直接即可
git add --all
git commit -m "i add a file nihao"
git push origin master
踩坑点
坑:这些问题不一定遇到,遇到就看看吧
起因:
由于我的电脑是二手,当我用到git时,我重新给电脑配置了我的git邮箱,账号。采用如下命令:
git config --global user.email "你的github账号邮箱"
git config --global user.name "你的github用户名"
并且生成了密钥和公钥:id_rsa和id_rsa.pub,将公钥添加到我的的远程仓库(github)。按道理,这样一番设置后,电脑中的git配置都修改成了我的git账号信息。可结果并不如意。当我git push,clone,pull时,还是会失败,失败信息大概如下:
remote: Permission to userA/repo.git denied to userB.
fatal: unable to access 'https://github.com/userA/repo.git/': The requested URL returned error: 403
很明显,根据提示,userB没有权限对userA的repo进行push更改。
还有一些如下图的款式:
临时解决办法
在当前git仓库下运行:git remote set-url origin https://xxx@github.org/hello/etl.git
为当前项目修改远程url,这样就可以暂时解决。虽然这种办法能解决燃眉之急,但却不是长久之计。
问题原因
由于该电脑使用git bash配过ssh,系统已经将指向github的用户设置为了userB,每次push操作的时候,都将读取到userB的用户信息,类似于记住密码。因为git默认读取的是第一次记住密码的账号,而不是我自己个人的git账户。
解决办法
这种情况,需要删除对电脑的配置,只针对Windows电脑,mac的自己去搜
打开 控制面板–>用户账户–>凭据管理器–>管理Windows凭据
找到github的凭据,删除配置
重新push,输入账号,密码即可成功提交。
添加几个命令:
查看全局配置
git config --global -l
查看是否成功绑定ssh
ssh -T git@github.com
hexo博客迁移
1、将你原来电脑上已经配置好并生成的hexo目录拷到你的新电脑上,注意无需拷全部,只拷如下几个目录:
_config.yml
package.json
scaffolds/
source/
themes/
拷贝完成后,命名在hexo的文件夹下
2.在你的新电脑上首先配置hexo环境:安装Node.js、安装git
3.安装hexo,执行命令:
npm install -g hexo
4.安装好之后,进入hexo/目录
5.模块安装,执行命令:
npm install
npm install hexo-deployer-git --save
npm install hexo-generator-feed --save
npm install hexo-generator-sitemap --save
6.部署,执行命令:
hexo g
hexo d