Github 初始配置

  1. 注册Github账号
  2. 安装 Git 工具
    Windows:Git Bash
    Mac:自带终端(需安装 Xcode 命令行工具)
    下载地址:https://git-scm.com/downloads
  3. 本地配置 Git(首次)
1
2
3
4
git config --global user.name "你的GitHub用户名"
git config --global user.email "注册GitHub的邮箱"
# 查看配置是否生效
git config --global --list
  1. 配置 SSH(免密码推送,推荐)
    生成密钥:ssh-keygen -t ed25519 -C “邮箱”
    一路回车,无需设置密码
    复制公钥文件 ~/.ssh/id_ed25519.pub 全部内容
    GitHub 页面:头像 → Settings → SSH and GPG keys → New SSH key,粘贴保存

个人新建项目

  1. GitHub:右上角 + → New repository
    填写仓库名、描述,创建仓库

  2. 本地创建项目文件夹,终端进入文件夹

1
2
3
4
5
6
7
8
9
10
# 初始化git仓库
git init
# 创建/修改文件后,添加到暂存区
git add .
# 提交本地版本,备注修改内容
git commit -m "第一次提交:初始化项目"
# 关联远程GitHub仓库(SSH地址)
git remote add origin git@github.com:用户名/仓库名.git
# 推送到远程main分支
git push -u origin main
  1. 拉取 GitHub 已有仓库到本地
1
2
3
4
# 克隆远程仓库到本地
git clone git@github.com:用户名/仓库名.git
# 进入项目文件夹
cd 仓库名
  1. 日常使用
    提交
1
2
3
4
5
# 全部文件加入暂存
git add .
git commit -m "功能:完成登录页面"
# 推送到远程
git push origin main

更新

1
git pull origin main

使用别人的开源项目

不提交回原作者仓库

  1. 打开别人的 GitHub 仓库主页
  2. 点击 Fork 按钮
  3. 终端进入预留的项目文件夹
    git clone git@github.com:你的用户名/对方仓库名.git
    cd 仓库文件夹
  4. 新建独立分支开发(不污染 main 主线)
    git checkout -b 分支名
  5. 同步原作者更新(原仓库更新后拉取最新代码)
    添加原作者仓库为上游远程
1
2
3
git remote add upstream git@github.com:原作者用户名/原仓库名.git
# 查看远程,确认有origin(你的仓库)、upstream(原作者仓库)
git remote -v

拉取原作者最新代码

1
2
3
4
5
6
7
git fetch upstream
# 切换回main主线,合并原作者更新
git checkout main
git merge upstream/main
# 更新完主线后,切回自己分支合并主线最新代码
git checkout feature/my-project
git merge main

参与原项目开发

  1. 直接克隆原仓库
1
2
git clone git@github.com:原作者/仓库.git
cd 仓库
  1. 新建专属开发分支(禁止直接改 main)
1
git checkout -b fix/bug-name
  1. 修改代码提交,推送分支到远程
1
2
3
4
git add .
git commit -m "修复xxx问题"
git push origin fix/bug-name
GitHub 网页会自动弹出 Compare & pull request,提交 PR 等待作者审核合并

问题解决

  1. 克隆时出现错误
1
2
3
4
5
6
(base) PS E:\AI> git clone git@github.com:wzcwzc10/ai-guide.git
Cloning into 'ai-guide'...
ssh: connect to host github.com port 22: Connection refused
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

原因:

  1. 22 端口被你的网络 / 防火墙拦截
  2. 22 端口是通的,github.com 被解析到 127.0.0.1(hosts 劫持)
    解决:改端口
  3. 打开你的 .ssh (文件夹:C:\Users\你的用户名.ssh)
  4. 编辑 config 文件(没有新建一个)
1
2
3
4
Host github.com
Hostname ssh.github.com
Port 443
User git

测试:
ssh -T git@github.com
nslookup github.com