git使用
前言
参考文章
我的Git仓库
https协议访问经常访问不了,ssh安全快速
git@github.com:luckys-yang/luckys-yang.github.io.git
git@github.com:luckys-yang/MyBlog_Code.git
git@github.com:luckys-yang/Embedded_Main_Car.git
git@github.com:luckys-yang/LongXin1B.git
git@github.com:luckys-yang/Embedded_From_Car.git
git@github.com:luckys-yang/lan_G4_SS.git
git@github.com:luckys-yang/Dormitory_Fingerprint_Lock.git
git@github.com:luckys-yang/MyGD32F103VET6_Study_Code.git
git@github.com:luckys-yang/my_article.git
git@github.com:luckys-yang/blog_codee.git
git@github.com:luckys-yang/cw32_Project.git
git@github.com:luckys-yang/Advanced-hardware_study.git
git@github.com:luckys-yang/MSP430F149_study.git
git@github.com:luckys-yang/C-.git
git@github.com:luckys-yang/luckys-yang.git
git@github.com:luckys-yang/Car2021_Example_v1.2.git
git@github.com:luckys-yang/blog_giscus.git
git@github.com:luckys-yang/manual.git
git@github.com:luckys-yang/Dream_Cup.git
Git推送流程
- 新建仓库然后推送流程
git init
git remote add origin 仓库链接
git pull origin master
git add .
git commit -m '更新'
git push origin master
- 更新仓库流程
查看修改了哪些文件(即 modified )
git status
然后把工程文件夹添加本地到暂存区(不要直接pull不然本地有可能被覆盖产生冲突)
git add .
把暂存区中的所有修改都提交到版本库中
git commit -m '更新'
从远程仓库中拉取最新代码,然后再进行推送
git pull origin master
将本地暂存区仓库的修改推送到远程仓库中
git push origin master
如果访问不了就换成ssh
git push xxx
推送脚本
为了简化步骤,可以写一个.bat脚本进行推送这样不用手写这么多行命令
- 我的文章备份推送(pen.bat)
#!/bin/bash
# 进入Git仓库所在目录
cd G:/yangblog/yang/source/_posts/
# 以防万一先备份复制到另一个文件夹
cp G:/yangblog/yang/source/_posts/* G:/yangblog/bei -r -f
# 检查当前分支状态
git status
# 添加所有更改到本地暂存区
git add .
# 提交更改并添加提交注释($1是第一个参数意思)
git commit -m "$1"
# 拉取远程仓库
git pull origin master
# 推送
git push origin master
运行:打开git bash 界面,运行脚本,6/17是参数$1
sh pen.bat 6/17
- 我的博客推送(blog1.bat)
需要先进行hexo c && hexo g更新最新的Public文件夹
#!/bin/bash
# 进入Git仓库所在目录
cd G:/yangblog/tui/
# 把博客的public复制到tui下过来
cp G:/yangblog/yang/public/* G:/yangblog/tui/ -r -f
# 检查当前分支状态
git status
# 添加所有更改到本地暂存区
git add .
# 提交更改并添加提交注释
git commit -m "$1"
# 拉取远程仓库
git pull origin master
# 询问确认推送操作
echo "是否要推送到远程仓库?[Y/N]"
read confirm
if [ "$confirm" = "Y" ] || [ "$confirm" = "y" ]; then
# 推送
git push origin master
else
echo "已取消推送"
fi
运行:打开git bash 界面,运行脚本,6/17是参数$1
sh blog1.bat 6/17
- 推送源码
#!/bin/bash
# 进入Git仓库所在目录
cd G:/yangblog/yang/
# 检查当前分支状态
git status
# 添加所有更改到本地暂存区
git add .
# 提交更改并添加提交注释
git commit -m "$1"
# 拉取远程仓库
git pull origin master
# 推送
# 询问确认推送操作
echo "是否要推送到远程仓库?[Y/N]"
read confirm
if [ "$confirm" = "Y" ] || [ "$confirm" = "y" ]; then
# 推送
git push origin master
else
echo "已取消推送"
fi
Git错误集合
error: RPC failed; HTTP 500 curl 22 The requested URL returned error: 500
这个是因为网络不稳定,重新 git push origin master 即可
参考文章:https://gist.github.com/Tamal/1cc77f88ef3e900aeae65f0e5e504794
Connection reset by 140.82.114.3 port 22
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
这个有可能是因为网络不稳定,也可能是端口问题,防火墙啥的,谷歌了一下找到一个大佬的方法:
# 输入可能会弹出需要你输入 "yes",如果弹出 "Hi xxxx! You've successfully authenticated, but GitHub does not provide shell access." 则成功无需下面命令
# 【使用HTTPS 协议的端口号(即TCP端口443)测试是否能够成功 SSH 连接到 GitHub 服务器】
ssh -T -p 443 git@ssh.github.com
# 在里面添加内容
# 【将 github.com 的别名指向 ssh.github.com 主机,并将其 SSH 连接端口号设置为 443】
vim ~/.ssh/config
# 添加以下内容:
Host github.com
Hostname ssh.github.com
Port 443
然后按 "ESc" 键,再输入 ":wq" 保存退出即可
# 输入看看会不会弹出"Hi xxxx! You've successfully authenticated, but GitHub does not provide shell access.",一般到这步都可以成功
ssh -T git@github.com
# 然后就可以进行pull或者push了
出现push不了,可能是超过100M,就算删除了也不行,原因是已经commit到本地仓库,需要删除才能重新commit
// 查看提交
git log
// 删除
git reset HEAD~1
