返回 主页

目录

Git 极简手册(常用命令)

1. 初始化 / 克隆

# 新建本地仓库
git init

# 克隆远程仓库
git clone 仓库地址

2. 基础操作

# 查看文件状态
git status

# 添加文件到暂存区
git add 文件名
git add .        # 全部添加
# 提交到本地仓库
git commit -m "这里写提交说明"

3. 查看提交记录

git log          # 查看完整提交
git log --oneline# 简洁版

4. 同步远程仓库

# 拉取远程最新代码
git pull

# 推送到远程
git push

5. 分支(最常用)

# 查看所有分支
git branch

# 新建分支
git branch 分支名

# 切换分支
git checkout 分支名
git switch 分支名   # 新版推荐
# 合并分支(比如把 dev 合并到 main)
git checkout main
git merge dev

6. 撤销 / 回退

# 撤销工作区修改(还没 add)
git checkout -- 文件名

# 取消暂存(已经 add . 想撤回)
git reset HEAD 文件名

7. 配置(第一次用才需要)

git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

超简工作流

  1. 写代码
  2. git add .
  3. git commit -m "说明"
  4. git pull
  5. git push

进阶使用

修改本地 Git 仓库关联的远程仓库链接,然后提交代码到新的远程仓库

# 查看当前远程仓库链接
git remote -v

# 删除旧的远程链接
git remote remove origin

# 添加新的远程链接
git remote add origin https://github.com/新用户名/新仓库名.git

# 验证新的远程链接
git remote -v

# 1. 查看本地修改(可选,确认要提交的内容)
git status

# 2. 添加所有修改到暂存区
git add .

# 3. 提交到本地仓库(必须写提交说明)
git commit -m "修改了xxx功能/更新代码"

# 4. 推送到新的远程仓库(首次推新仓库可能需要指定分支)
# 常规推送(已关联分支)
git push

# 首次推送新仓库/分支不存在时,执行(main是默认分支,也可能是master)
git push -u origin main

报错处理: Recv failure: Connection was reset

PS D:\Temp\QuarkdownBlog\output\blog> git push
fatal: unable to access 'https://github.com/xxx/xxx.git/': Recv failure: Connection was reset

首先测试github的https端口是否正常:

# 测试HTTPS端口是否可访问(更关键)
Test-NetConnection github.com -Port 443
# 结果如下
PS D:\Temp\QuarkdownBlog\output\blog> Test-NetConnection github.com -Port 443
警告: TCP connect to (20.205.243.166 : 443) failed
ComputerName           : github.com
RemoteAddress          : 20.205.243.166
RemotePort             : 443
InterfaceAlias         : WLAN
SourceAddress          : 192.168.1.205
PingSucceeded          : True
PingReplyDetails (RTT) : 66 ms
TcpTestSucceeded       : False

执行Test-NetConnection github.com -Port 443后, 结果显示PingSucceeded: True但TcpTestSucceeded: False,这说明你的电脑能 ping 通 GitHub 服务器,但 443 端口(HTTPS 协议核心端口)被拦截了 —— 这是导致git push报连接重置的核心原因(网络 / 防火墙限制了 HTTPS 访问 GitHub)

解决方案: 选 SSH 协议,绕开 443 端口拦截(使用 22 端口,通常不会被拦截)

在本地生成 SSH 密钥对,在powershell执行以下命令(一路按回车,生成 id_rsa 和 id_rsa.pub 两个文件):

# 生成SSH密钥,一路按回车(无需设置密码)
ssh-keygen -t rsa -b 4096 -C "你的GitHub邮箱@xxx.com"

# 读取并复制公钥内容(Windows自动复制到剪贴板)
Get-Content id_rsa.pub的文件路径 | Set-Clipboard

登录github,点击头像,进入Settings → SSH and GPG keys → New SSH key,粘贴公钥内容,填写title,点击Add SSH key保存.

修改本地仓库的远程链接为 SSH 地址, 测试 SSH 连接并推送代码.

# 先确认当前远程链接(可选)
git remote -v
# 替换为SSH地址(你的仓库SSH地址)
git remote set-url origin git@github.com:xxx/xxx.git
# 测试SSH能否连接GitHub(关键!成功会提示认证通过)
ssh -T git@github.com
# 测试成功后,执行push
git push

若ssh -T输出Hi qinguoming2! You’ve successfully authenticated...,说明 SSH 配置成功;此时git push就能正常推送,不会再报连接重置错误.

返回 主页