github小白记录第一次完整搭建个人git库全历程

说来惭愧,作为码农,github几年前我就注册了,但是这么些年一直没怎么登录过,上面的个人主页更是一片空白

最近突发奇想,得知了pyecharts作为python的一个可视化利器,在绘制地图方面也很好用,一时心血来潮,一番折腾,在本地写了一个小小的脚本,还挺有成就感,即使再微不足道的成就,分享到github上也是个人的小成绩。于是乎毅然决定,开干!

不过说实话,我使用git一直不是很熟练,对于如何从头搭建github个人仓库更是一头雾水。好在现在AI工具非常先进,遇事不决,DeepSeek。

首先,我问了DeepSeek关于建立github个人仓的完整过程,DeepSeek给了我很详尽的解答

 

---

### 一、准备工作
1. 安装 Git(如未安装)
- 官网下载:https://git-scm.com/
- 安装后验证:终端输入 `git --version`

2. 配置 Git 账户(首次使用需操作)
```bash
git config --global user.name "你的GitHub用户名"
git config --global user.email "你的GitHub注册邮箱"
```

---

### 二、GitHub 上创建新仓库
1. 登录 GitHub → 点击右上角 ➕ → `New repository`
2. 填写信息:
- Repository name: 仓库名(建议英文)
- Description: 描述(可选)
- 选择 Public/Private
- **不要勾选** Initialize...(保持仓库为空)
3. 点击 `Create repository`

---

### 三、本地代码上传操作
1. **进入项目目录**
```bash
cd /你的/本地/项目路径
```

2. **初始化本地仓库**
```bash
git init
```

3. **添加文件到暂存区**
```bash
git add .
# 或指定文件 git add filename
```

4. **提交更改**
```bash
git commit -m "首次提交描述"
```

5. **关联远程仓库**
```bash
git remote add origin https://github.com/你的用户名/仓库名.git
# 或SSH地址 git@github.com:你的用户名/仓库名.git
```

6. **推送代码到 GitHub**
```bash
git push -u origin main
# 如果本地默认分支是 master,则改为 git push -u origin master
```

---

### 四、验证结果
1. 刷新 GitHub 仓库页面
2. 看到代码文件即表示上传成功

---

### 常见问题处理
- **权限错误**:使用 HTTPS 需输入 GitHub 账号密码;推荐 [SSH 密钥配置](https://docs.github.com/en/authentication/connecting-to-github-with-ssh)
- **分支冲突**:首次推送前先执行 `git pull origin main --allow-unrelated-histories`

提示:后续更新代码只需执行:
```bash
git add .
git commit -m "更新描述"
git push
```

嗯,听起来还好,只不过是在平时的git add,git commit,git push前面加了一点点的操作,这让我比较有信心了

 

打开本地git,浏览器登录github,new repository,这都很easy

然后,正片开始

在git提交三部曲完成后,git窗口华丽的出现了一句,

*** Please tell me who you are.

Run

git config --global user.email "you@example.com"
git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

 

噢,对了,之前本地git一直没登录过,需要验证信息……这个步骤有点印象,需要在本地配置用户名和邮箱,配置命令也在窗口提示我了,不难解决

于是完成了

git config --global user.email "邮箱"
git config --global user.name "用户名"

继续提交

这一次,在运行完add,commit,push提交三部曲后,系统又提示

$ git push -u origin master fatal: 'origin' does not appear to be a git repository fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.

好像是配置还没完成,但又想不起来怎么操作,于是问了DeepSeek。DeepSeek告诉我这是本地仓库还没有关联到远程 GitHub 仓库(或者远程仓库地址配置不正确),需要完成下面几部操作

步骤 1:检查是否已关联远程仓库
运行以下命令查看远程仓库配置:

bash
复制
git remote -v
如果没有任何输出,或没有显示你的 GitHub 仓库地址,说明需要关联远程仓库。

步骤 2:关联远程 GitHub 仓库
1. 复制你的 GitHub 仓库地址
进入你的 GitHub 仓库页面 → 点击 Code → 选择 HTTPS 或 SSH 地址。

HTTPS 格式:https://github.com/你的用户名/仓库名.git

SSH 格式:git@github.com:你的用户名/仓库名.git

2. 在本地终端运行以下命令关联远程仓库:
bash
复制
git remote add origin 你的仓库地址
例如:

bash
复制
git remote add origin https://github.com/yourusername/your-repo.git
或(如果使用 SSH):

bash
复制
git remote add origin git@github.com:yourusername/your-repo.git
步骤 3:验证远程仓库是否添加成功
再次运行:

bash
复制
git remote -v
正确输出应类似:

复制
origin  https://github.com/你的用户名/仓库名.git (fetch)
origin  https://github.com/你的用户名/仓库名.git (push)
步骤 4:推送到 GitHub
bash
复制
git push -u origin master
如果 GitHub 仓库默认分支是 main(而非 master),则改为:

bash
复制
git push -u origin main

对头,在github个人页面看到了仓库的SSH链接地址,这个还没用上呢

于是配置完成,继续推送

这一次,报错又华丽的变为

The authenticity of host github.com  can't be established.

查了DeepSeek,得知这是 Git 尝试使用 SSH 方式连接 GitHub,但你的本地计算机没有配置正确的 SSH 密钥

难怪一直纳闷什么时候配置SSH密钥呢,那就赶紧操作吧

参照着DeepSeek给出的方法

1. 检查现有的 SSH 密钥
首先查看是否已生成 SSH 密钥:

bash
复制
ls ~/.ssh/
如果看到 id_ed25519 或 id_rsa(私钥)和对应的 .pub 文件(公钥),说明已有密钥。否则需要生成。

2. 生成新的 SSH 密钥(若无密钥)
运行以下命令(替换为你的 GitHub 邮箱):

bash
复制
ssh-keygen -t ed25519 -C "your_email@example.com"
按回车接受默认保存路径(~/.ssh/id_ed25519)。

可选:设置密钥密码(直接回车跳过)。

3. 将 SSH 密钥添加到 ssh-agent
bash
复制
eval "$(ssh-agent -s)"  # 启动 ssh-agent
ssh-add ~/.ssh/id_ed25519
4. 将公钥添加到 GitHub
复制公钥内容:
bash
复制
cat ~/.ssh/id_ed25519.pub
添加到 GitHub:
登录 GitHub → 点击右上角头像 → Settings → SSH and GPG keys → New SSH key。

粘贴公钥内容,标题可自定义(如 My PC)。

点击 Add SSH key。

5. 测试 SSH 连接
bash
复制
ssh -T git@github.com
看到类似以下输出即表示成功:

复制
Hi yourusername! You've successfully authenticated...
6. 更新远程仓库地址为 SSH(如果之前用 HTTPS)
bash
复制
git remote set-url origin git@github.com:yourusername/your-repo.git
7. 重新推送代码
bash
复制
git push -u origin master  # 或 main
没想到这次到了测试连接这一步就出了问题,提示This key is not known by any other names.
一头雾水的查了DeepSeek,才知道这是ssh-keygen 命令无法在默认路径(~/.ssh/)下生成 SSH 密钥,并且给出了三个常见原因

  1. 路径包含非ASCII字符(如中文用户名)

  2. Windows 系统权限问题

  3. .ssh 目录不存在


好了,看到第一条我就知道原因了。这就不得不提我在电脑上之前一个作死的设定,因为我是拜仁球迷,特别喜欢拜仁球衣之前印的那款·T···Com·字样的广告,所以当时一开始我就把自己的电脑用户名也设成了这个(别笑,这是真的……),之前用着各项设定功能都没问题,没想到到了github就出麻烦了
好在聪明的DeepSeek也给出了贴心的解决方案:重新配置ssh或者改用https
先试试ssh重新配置吧
1. 手动指定密钥保存路径
运行以下命令,将密钥保存到无中文/空格的路径(例如 C:\ssh_keys\):

# 1. 创建英文目录,将密钥手动指定到无中文/空格的路径
mkdir -p /c/ssh_keys


# 2. 生成密钥到指定路径
ssh-keygen -t ed25519 -C "your_email@example.com" -f /c/ssh_keys/id_ed25519


# 3. 添加公钥到 GitHub
cat /c/ssh_keys/id_ed25519.pub # 复制输出内容到 GitHub


# 4. 测试连接
ssh -T git@github.com

 

前面的配置都很顺利,没想到最后测试连接的时候继续报错……

修改用户名看起来似乎更麻烦,那还是试试https连接吧

好在DeepSeek依旧给出了详细的解决方案

git remote set-url origin https://github.com/fcbyoung/pyecharts_china_map.git
git config --global credential.helper store

简单两步配置完成,继续做提交三部曲

https连接会因为网速等原因容易失败,在多尝试了几次之后,终于显示屏上跳出了一个小小的登录窗口

点击后,在浏览器弹出来一个新的登录页面

登录成功后,过了一会,在git窗口终于又看到了那段让人心安的提示信息

Compressing objects: 100% (405/405), done.
Writing objects: 100% (412/412), 85.26 KiB | 2.75 MiB/s, done.
Total 412 (delta 362), reused 0 (delta 0), pack-reused 0 (from 0)
remote: Resolving deltas: 100% (362/362), done.
To https://github.com/fcbyoung/pyecharts_china_map.git
 * [new branch]      master -> master
branch 'master' set up to track 'origin/master'.

此时再刷新自己的github页面,也看到了代码提交的内容

终于搞定啦。欣喜之余,就让我把这次一波三折的github初体验,记录在这里吧

 

posted @ 2025-04-12 21:31  大西young  阅读(231)  评论(0)    收藏  举报