Github 初始配置
注册Github 账号
安装 Git 工具 Windows:Git Bash Mac:自带终端(需安装 Xcode 命令行工具) 下载地址:https://git-scm.com/downloads
本地配置 Git(首次)
1 2 3 4 git config --global user.name "你的GitHub用户名" git config --global user.email "注册GitHub的邮箱" # 查看配置是否生效 git config --global --list
配置 SSH(免密码推送,推荐) 生成密钥:ssh-keygen -t ed25519 -C “邮箱” 一路回车,无需设置密码 复制公钥文件 ~/.ssh/id_ed25519.pub 全部内容 GitHub 页面:头像 → Settings → SSH and GPG keys → New SSH key,粘贴保存
个人新建项目
GitHub:右上角 + → New repository 填写仓库名、描述,创建仓库
本地创建项目文件夹,终端进入文件夹
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
拉取 GitHub 已有仓库到本地
1 2 3 4 # 克隆远程仓库到本地 git clone git@github.com:用户名/仓库名.git # 进入项目文件夹 cd 仓库名
日常使用 提交
1 2 3 4 5 # 全部文件加入暂存 git add . git commit -m "功能:完成登录页面" # 推送到远程 git push origin main
更新
使用别人的开源项目 不提交回原作者仓库
打开别人的 GitHub 仓库主页
点击 Fork 按钮
终端进入预留的项目文件夹 git clone git@github.com:你的用户名/对方仓库名.git cd 仓库文件夹
新建独立分支开发(不污染 main 主线) git checkout -b 分支名
同步原作者更新(原仓库更新后拉取最新代码) 添加原作者仓库为上游远程
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 2 git clone git@github.com:原作者/仓库.git cd 仓库
新建专属开发分支(禁止直接改 main)
1 git checkout -b fix/bug-name
修改代码提交,推送分支到远程
1 2 3 4 git add . git commit -m "修复xxx问题" git push origin fix/bug-name GitHub 网页会自动弹出 Compare & pull request,提交 PR 等待作者审核合并
问题解决
克隆时出现错误
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.
原因:
22 端口被你的网络 / 防火墙拦截
22 端口是通的,github.com 被解析到 127.0.0.1(hosts 劫持) 解决:改端口
打开你的 .ssh (文件夹:C:\Users\你的用户名.ssh)
编辑 config 文件(没有新建一个)
1 2 3 4 Host github.com Hostname ssh.github.com Port 443 User git
测试:ssh -T git@github.comnslookup github.com