1 github打不开的问题

1.确定github网站的ip

打开网址:http://github.com.ipaddress.com/

可能多个ip

140.82.113.4 github.com
 

2.确定域名ip

打开网址:http://github.global.ssl.fastly.net.ipaddress.com/

140.82.113.4 github.global.ssl.fastly.net
 

3.确定静态资源ip

打开网址:http://assets-cdn.github.com.ipaddress.com/

185.199.109.153 assets-cdn.github.com

4.修改hosts文件

sudo gedit /etc/hosts
140.82.113.4 github.com
140.82.113.4 github.global.ssl.fastly.net
185.199.109.153 assets-cdn.github.com

2020年11月28日

192.30.255.113 github.com

2.fatal: Could not read from remote repository.

yys@DESKTOP-DV2G0V8:~/r2-drive$ git push
ssh: Could not resolve hostname github.com: Temporary failure in name resolution
fatal: Could not read from remote repository.

 echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf

 

3.将本地项目上传到 GitHub 仓库(r2-drive)

 

一前期准备(确保环境就绪)

1. 检查 Git 是否安装

打开终端(Windows 用 Git Bash/CMD,Mac/Linux 用终端),执行:

git --version
  • 如果显示 git version x.x.x(比如 git version 2.43.0),说明已安装
  • 如果提示「未找到命令」,先安装 Git:
    • Windows:下载 Git 安装包,一路下一步即可
    • Mac:执行 brew install git(需先装 Homebrew)
    • Linux:执行 sudo apt install git(Ubuntu/Debian)或 sudo yum install git(CentOS)。

2. 配置 Git 用户名和邮箱(首次使用必须做)

GitHub 会通过这个信息关联你的提交记录,执行以下命令(替换为你的 GitHub 用户名和邮箱):

git config --global user.name "你的GitHub用户名"  # 比如 yyszone
git config --global user.email "你的GitHub注册邮箱"

3. 配置 SSH 密钥(关键!避免推送时输密码/权限错误)

因为你的仓库地址是 git@github.com:...(SSH 协议),需要配置 SSH 密钥让本地和 GitHub 认证:

步骤 1:生成 SSH 密钥

终端执行(邮箱填你 GitHub 注册的邮箱):

ssh-keygen -t ed25519 -C "你的GitHub邮箱"
  • 按 3 次回车(默认路径无密码),密钥会生成在 ~/.ssh/ 目录下(Windows 是 C:\Users\你的用户名\.ssh\)。

步骤 2:复制 SSH 公钥

  • Mac/Linux:执行 cat ~/.ssh/id_ed25519.pub,复制输出的全部内容
  • Windows:执行 type C:\Users\你的用户名\.ssh\id_ed25519.pub,复制输出的全部内容。

步骤 3:添加到 GitHub

  1. 登录 GitHub,点击右上角头像 → Settings
  2. 左侧菜单选 SSH and GPG keys → 点击 New SSH key
  3. Title 填任意名称(比如「我的电脑」),Key 粘贴刚才复制的公钥,点击 Add SSH key

步骤 4:验证 SSH 连接

终端执行:

ssh -T git@github.com

如果出现 Hi 你的用户名! You've successfully authenticated...,说明配置成功。

二本地项目操作(初始化 Git 仓库)

1. 进入本地项目文件夹

终端执行(替换为你的项目实际路径):

# 示例:Mac/Linux
cd ~/r2-drive  # 你的项目文件夹路径
# Windows(Git Bash)
cd /c/Users/你的用户名/r2-drive

2. 初始化 Git 仓库(首次上传必做)

git init

执行后会提示 Initialized empty Git repository in ...,说明本地仓库创建成功。

3. 创建 .gitignore 文件(可选但强烈推荐)

忽略不需要上传的文件(如依赖包日志缓存等),避免仓库体积过大:

# Mac/Linux/Git Bash
touch .gitignore

编辑 .gitignore 文件(用文本编辑器打开),写入项目需要忽略的内容(示例,根据你的项目类型调整):

# 通用忽略
.DS_Store
*.log
.idea/
.vscode/

# 前端项目(如果是Node.js项目)
node_modules/
dist/
build/
.env
.env.local

# Python项目
__pycache__/
venv/
*.pyc

4. 添加文件到暂存区

把本地所有项目文件加入 Git 暂存区:

git add .
  • 如果只想添加单个文件:git add 文件名(比如 git add index.js)。

5. 提交暂存区文件到本地仓库

提交并填写「有意义的提交说明」(方便后续追溯):

git commit -m "初始提交:上传 r2-drive 项目基础文件"

执行后会显示提交的文件数量修改内容等信息,说明本地提交成功。

三关联远程仓库并解决分支分歧

1. 关联 GitHub 远程仓库

将本地仓库与你的 r2-drive 远程仓库绑定:

git remote add origin git@github.com:yyszone/r2-drive.git
  • 验证关联是否成功:git remote -v,会显示 origin 对应的仓库地址。

2. 配置分支合并策略(解决「分歧分支」问题)

因为远程仓库已有初始提交(比如 README.md),本地是新仓库,需要指定合并方式:

# 配置当前仓库默认用 merge 方式合并(新手友好)
git config pull.rebase false

3. 拉取远程仓库内容(整合本地与远程)

git pull origin main --allow-unrelated-histories
  • 执行后如果提示 Merge made by the 'ort' strategy,说明合并成功
  • 如果出现文件冲突(比如本地和远程有同名文件):
    1. 终端会提示「CONFLICT (add/add): Merge conflict in 文件名」
    2. 用文本编辑器打开冲突文件,找到 <<<<<<< HEAD=======>>>>>>> origin/main 标记的冲突区域
    3. 保留需要的内容,删除冲突标记
    4. 重新提交:git add .git commit -m "解决合并冲突:整合远程与本地文件"

四推送本地代码到 GitHub

1. 推送代码到远程 main 分支

git push -u origin main
  • 执行后会显示推送进度,成功后提示:
    Branch 'main' set up to track remote branch 'main' from 'origin'.

2. 验证推送结果

  1. 打开浏览器,访问 https://github.com/yyszone/r2-drive
  2. 刷新页面,就能看到你本地的项目文件已经出现在仓库中。

五后续常用操作(可选)

如果后续修改了本地文件,只需执行以下步骤即可更新到远程:

git add .  # 添加修改的文件
git commit -m "修改说明:比如修复XX功能"  # 提交到本地
git push origin main  # 推送到远程
``
---
### 总结
1. 核心前提:必须配置 **Git 用户名/邮箱** 和 **SSH 密钥**,否则会出现权限/认证错误
2. 关键步骤:本地初始化 → 提交文件 → 关联远程 → 拉取合并 → 推送代码
3. 避坑点:拉取远程内容时必须加 `--allow-unrelated-histories`,并配置 `pull.rebase false` 解决分支分歧,否则会推送失败。

如果后续遇到任何问题(比如分支名不是 main推送超时等),都可以告诉我,我会帮你针对性解决。