当前位置: 首页 > news >正文

GitHub 常见高频问题与解决方案(实用手册)

1.Push 提示权限错误(Permission denied)

问题:

Bash                  
Permission denied (publickey)                  
fatal: Could not read from remote repository.

原因: 没有配置 SSH key 或使用了 HTTPS 而没有权限。

解决方法:

Bash                  
生成 SSH 密钥(如果还没有)                  
ssh-keygen -t rsa -C "你的邮箱"                  
将生成的 ~/.ssh/id_rsa.pub 添加到 GitHub:Settings → SSH and GPG Keys

2.push 报错:rejected non-fast-forward

问题:

Bash                  
error: failed to push some refs to ...                  
hint: Updates were rejected because the tip of your current branch is behind ...

原因: 本地代码落后于远程,需要先 pull。

解决方法:

Bash                  
git pull origin main --rebase                  
然后再 push                  
git push origin main

3.忘记添加 .gitignore,上传了无关文件

解决方法:

1.添加或修改 .gitignore 文件

2.移除已跟踪的无用文件:

Bash                  
git rm -r --cached .                  
git add .                  
git commit -m "更新 .gitignore"                  
git push

4. 撤销最近一次 commit

方法 1:只改 commit 信息,不改内容

Bash                  
git commit --amend

方法 2:撤回 commit

Bash                  
git reset --soft HEAD~1  # 回退提交但保留改动

5.clone 太慢或失败

解决方法:

  • 使用国内镜像(如 GitHub 镜像或代理)
  • 或使用 SSH 克隆:

Bash                  
git clone git@github.com:xxx/xxx.git

6.如何切换/创建分支

Bash                  
创建并切换新分支                  
git checkout -b dev                  
切换已有分支                  
git checkout main

7.如何合并分支

Bash                  
git checkout main         # 切换到主分支                  
git merge dev             # 合并 dev 分支

有冲突时:

  • 手动解决文件冲突
  • git add . → git commit

8.如何删除远程分支

Bash                  
git push origin --delete 分支名

9.如何 Fork + PR(Pull Request)参与开源项目?

1.点击项目页面右上角 Fork

2.克隆到本地 → 创建新分支开发

3.提交 → Push 到自己仓库

4.打开自己仓库 → 点 "Compare & pull request"

5.提交 PR 给原项目

10.如何清除 Git 缓存的用户名密码?

Bash                  
git config --global --unset credential.helper

11.克隆仓库失败 / 速度慢

常见报错:

  • Connection timed out
  • fatal: unable to access ...

解决方案:

  • 使用 GitClone 镜像

Bash                  
git clone https://gitclone.com/github.com/user/repo.git

  • 或使用 SSH 克隆(加快速度):

Bash                  
git@github.com:user/repo.git

12. GitHub 提示需要访问 Token

报错示例:

Bash                  
remote: Support for password authentication was removed

原因:

  • GitHub 取消了账号密码登录 Git 操作(2021年后)

解决方案:

  • 生成 Personal Access Token
  • 用 token 代替密码进行 git pushclone

13. 如何修改或重命名仓库

路径:

仓库首页 → Settings → Repository name → 修改 → Save

注意:

  • 更改会改变仓库 URL,需要重新 clone 或更新 remote。

14. 如何同步 Fork 仓库

步骤:

Bash                  
git remote add upstream https://github.com/原作者/repo.git                  
git fetch upstream                  
git merge upstream/main

或使用 rebase 替代 merge 保持提交整洁。

15. 误删了远程分支怎么办?

如果本地还有该分支:

Bash                  
git push origin 分支名

如果本地也没有:

  • 从另一个开发者获取代码
  • 或查看 Pull Request 恢复提交内容

16. 如何设置仓库私密 / 公开

路径:仓库首页 → Settings → Danger Zone → Change visibility

17. 如何上传大文件(>100MB)

GitHub 限制单文件大小为 100MB

解决方案:

  • 使用 Git Large File Storage(Git LFS

Bash                  
git lfs install                  
git lfs track "*.zip"

18. Actions 运行失败

常见原因:

  • 缺少权限(例如私有仓库)
  • secrets 配置错误
  • 网络原因(如下载超时)

排查建议:

  • 查看 Actions logs
  • 增加超时或使用国内依赖镜像源
  • 设置 secrets 时确保 key/value 正确拼写

19. 删除仓库后能恢复吗?

仓库一旦删除,GitHub 不支持恢复

建议开启删除保护(Settings → Enable delete protection)

20. Pull Request 无法合并

原因可能包括:

  • 有冲突(conflict)
  • 分支不是目标分支的子分支
  • 权限不足(需有 write 权限)

解决方案:

Bash                  
git fetch origin                  
git rebase origin/main                  
解决冲突后                  
git push -f

21. 访问 GitHub 卡顿 / 加载慢

使用加速方式:

  • https://ghproxy.com/
  • https://gitclone.com/
  • DNS 优化(如 223.5.5.5)
  • 临时 hosts:使用 GitHub520

22. 贡献指南 CONTRIBUTING.md 不生效?

确保文件路径正确为:

Plain Text                  
/.github/CONTRIBUTING.md

相关文章:

  • Compose笔记(二十六)--DatePicker
  • 数据类型 -- 布尔
  • 第二章 无刷电机硬件控制
  • 智警杯备赛--机器学习算法实践
  • 【Linux】gcc、g++编译器
  • 6月8日day48打卡
  • Java线程池核心原理与最佳实践
  • 思澈sdk-新建lcd
  • Linux下GCC和C++实现统计Clickhouse数据仓库指定表中各字段的空值、空字符串或零值比例
  • “图像说话,文本有图”——用Python玩转跨模态数据关联分析
  • 从代码学习深度强化学习 - 多臂老虎机 PyTorch版
  • Cesium快速入门到精通系列教程七:粒子效果
  • Java 中字节流的使用详解
  • 【GESP真题解析】第 18 集 GESP 三级 2025 年 3 月编程题 1:2025
  • 用 Lazarus IDE 写一个邮件客户端软件,能收发邮件,编写邮件
  • 八股---7.JVM
  • Qwen系列之Qwen3解读:最强开源模型的细节拆解
  • 开源项目实战学习之YOLO11:12.7 ultralytics-models-transformer.py
  • LLMs之RLVR:《Absolute Zero: Reinforced Self-play Reasoning with Zero Data》翻译与解读
  • 基于定制开发开源AI智能名片S2B2C商城小程序的首屏组件优化策略研究
  • 广州正规网站建设哪家好/百度seo优化排名客服电话
  • 网站建设易网宣/站长工具权重查询
  • 手机网站 代码格式/百度点击率排名有效果吗
  • 深圳市福田区香蜜湖街道/搜索优化指的是什么
  • 郑州网站建设公司谷雨/百度推广排名代发
  • 学校网站建设评估/windows优化大师怎么下载