当前位置:首页 > 技术 > 正文内容

GitHub 实战入门:从零搭建代码仓库

访客 技术 2026年10月24日 1

GitHub 作为全球领先的代码托管平台,基于 Git 分布式版本控制系统构建。它不仅为开发者提供了免费的代码存储空间,还极大地便利了团队协作与版本管理。通过 GitHub,开发者可以轻松实现代码备份、跨设备同步以及多人协同开发,彻底告别了 U 盘传文件或网盘同步的原始方式。本文将详细介绍从注册账号、环境配置到上传项目的完整流程。

一、创建远程仓库

首先,登录 GitHub 官网。在页面右上角点击 "+" 号,选择 "New repository" 开始创建新的代码仓库。

在创建页面,仓库名称(Repository name)为必填项。填写完毕后点击 "Create repository" 即可完成创建。

创建成功后,系统会跳转至仓库主页,并展示该仓库的 SSH 地址以及初始化命令。请记录下该地址,后续配置需要用到。

二、安装并配置 Git 客户端

1. 下载与安装

访问 Git 官方网站下载对应操作系统的安装包。Windows 环境下,建议在安装路径中避免使用中文字符,以防止潜在的兼容性问题。在组件选择界面,通常保持默认选项即可,例如勾选 "Git Bash Here" 可以在右键菜单中快速打开终端。

在配置终端模拟器时,推荐选择 MinTTY,这能提供更接近 Linux 环境的操作体验。

2. 绑定用户身份

安装完成后,打开 Git Bash。由于 Git 是分布式系统,必须设置用户名和邮箱作为身份标识。请确保邮箱与 GitHub 注册邮箱一致。

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

为了简化后续操作,避免每次推送都输入密码,可以通过以下命令设置凭证存储:

# 永久记住密码
git config --global credential.helper store

三、配置 SSH 密钥

SSH(Secure Shell)协议用于本地与 GitHub 之间的加密通信。配置 SSH Key 后,无需每次输入用户名和密码,既安全又便捷。

1. 生成密钥

在 Git Bash 中输入以下命令检查是否已存在密钥:

cd ~/.ssh
ls

如果显示 "No such file or directory" 或目录为空,则需要生成新密钥:

# 使用 RSA 算法生成密钥,邮箱替换为你的 GitHub 邮箱
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

命令执行过程中,连续按三次回车键,选择默认路径且不设置密码。生成成功后,在用户目录下的 .ssh 文件夹中找到 id_rsa.pub 文件,用记事本打开并复制其中的内容。

2. 添加公钥至 GitHub

回到 GitHub 网页,点击右上角头像,进入 "Settings"。在左侧菜单选择 "SSH and GPG keys",点击 "New SSH key"。

Title 填写备注名称(如 "My Laptop"),Key 粘贴刚才复制的内容,点击 "Add SSH key" 完成。

四、上传本地项目

1. 初始化本地仓库

进入本地项目根目录,右键选择 "Git Bash Here"。执行初始化命令,将此目录转化为 Git 仓库:

git init

初始化成功后,目录下会生成一个隐藏的 .git 文件夹,切勿手动修改该文件夹内容。

2. 添加与提交文件

将项目所有文件添加至暂存区:

# 添加所有文件
git add .

提交文件到本地仓库,并附上说明信息:

git commit -m "Initial project commit"

3. 关联远程仓库并推送

使用之前创建的 GitHub 仓库 SSH 地址,关联远程仓库:

# origin 为远程仓库名称,可自定义,后续 URL 替换为你的仓库地址
git remote add origin git@github.com:username/repository-name.git

将本地代码推送到远程仓库:

# -u 参数设置上游分支,后续推送可直接使用 git push
git push -u origin master

首次推送时,终端可能提示确认连接,输入 "yes" 并回车即可。此时刷新 GitHub 仓库页面,即可看到上传的代码。

注意:Git 默认不会跟踪空文件夹。如果一个文件夹内没有任何文件,该文件夹将不会被上传。若需保留空目录结构,通常做法是在该目录下创建一个 .gitkeep 文件。

五、常见问题处理

在执行 git push 时,可能会遇到 failed to push some refs to git... 错误。这通常是因为远程仓库包含本地没有的文件(例如创建仓库时勾选了 README 或 License),导致历史记录不一致。

解决方案是先拉取远程内容并合并,再进行推送:

# 拉取远程内容并整合
git pull --rebase origin master

# 再次推送
git push -u origin master

执行 pull --rebase 后,本地仓库会同步远程的 README 等文件,此时再次推送即可成功。

相关文章

Linux crontab 详解

1) crontab 是什么cron 是 Linux 的定时任务守护进程;crontab 是用来编辑/查看“按时间周期执行命令”的表(cron table)。常见两类:用户 crontab:每个用户一份(crontab -e 编辑)系统级 crontab / cron.d:可指定执行用户(/etc/crontab、/etc/cron.d/*)2) crontab 时间...

富文本里可以允许的 HTML 属性

一、所有标签默认允许的安全属性(极少)class        (可选)id           (通常建议禁用)title️ 注意:id 容易被滥用做锚点注入,很多系统直接禁用class 允许的话最好只允许固定前缀(如 editor-*)二、a 标签允许属性<a href="" t...

Mac 安装 Node.js 指南

方法一:通过官网安装包(最简单,适合初学者)如果你只是想快速安装并开始使用,这是最直接的方法。访问 Node.js 官网。页面会显示两个版本:LTS (Recommended For Most Users):长期支持版,最稳定。建议选这个。Current:最新特性版,包含最新功能但可能不够稳定。下载 .pkg 安装包并运行。按照安装向导点击“下一步”即可完成。方法二:使用 Homebrew 安装(...

Dom\HTML_NO_DEFAULT_NS 的副作用:自动加闭合标签

在使用Dom\HTMLDocument时,Dom\HTML_NO_DEFAULT_NS 将禁止在解析过程中设置元素的命名空间, 此设置是为了与DOMDocument向后兼容而存在的。当使用它时,已知的一个副作用就是:自动加闭合标签例如 </img> 为什么会这样?当你使用:Dom\HTML_NO_DEFAULT_NS文档会变成 无命名空间模式,此时内部更接近 XML...

自定义域名解析神器 dnsmasq

什么是 dnsmasq?dnsmasq 是一个轻量级、功能强大的网络服务工具,专为小型和中等规模网络设计。它是一个综合的网络基础设施解决方案[1]。dnsmasq 能做什么?功能说明应用场景DNS 转发与缓存将 DNS 查询转发到上游服务器(ISP、Google DNS 等),并在本地缓存结果加快 DNS 查询速度,减少外部 DNS 流量本地 DNS解析本地网络设备的主机名,无需编辑&n...

linux screen 用法详情 (nohup 的替代方案)

一、screen 是什么?能干嘛?screen 是一个终端复用器,可以:在一个 SSH 会话中开多个“虚拟终端”SSH 断线后,程序仍然在后台运行随时重新连接到原来的会话特别适合:nohup 的替代方案跑脚本 / 爬虫 / 训练模型运维、远程开发二、安装 screen# CentOS / Rocky / Almayum install -y screen# Debian / Ubuntuapt i...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。