【第八节】git与github

目录

前言

[一、 远程仓库概述](#一、 远程仓库概述)

[二、 创建、配置、连接推送远程仓库](#二、 创建、配置、连接推送远程仓库)

[2.1 在 GitHub 上创建仓库](#2.1 在 GitHub 上创建仓库)

[2.2 生成 SSH Key](#2.2 生成 SSH Key)

[2.3 验证 SSH 连接](#2.3 验证 SSH 连接)

[2.4 本地初始化仓库](#2.4 本地初始化仓库)

[2.5 推送本地仓库到远程](#2.5 推送本地仓库到远程)

[三、 管理远程仓库](#三、 管理远程仓库)

[3.1 查看远程仓库](#3.1 查看远程仓库)

[3.2 提取远程仓库更新](#3.2 提取远程仓库更新)

[3.3 推送更新到远程仓库](#3.3 推送更新到远程仓库)

[3.4 删除远程仓库关联](#3.4 删除远程仓库关联)


前言

Git 是一个分布式版本控制系统,允许开发者在本地进行代码管理,同时也可以将代码推送到远程仓库,以便与他人协作或备份。本文将详细介绍如何配置、创建和管理 Git 远程仓库,特别是使用 GitHub 作为远程仓库的场景。


一、 远程仓库概述

Git 本身是一个分布式系统,没有中心服务器。然而,为了与他人共享代码或进行团队协作,开发者通常会将代码托管到远程仓库(如 GitHub、GitLab 等)。通过远程仓库,开发者可以推送本地代码、拉取他人更新,并进行版本控制。

二、 创建、配置、连接推送远程仓库

2.1 在 GitHub 上创建仓库

登录 GitHub 后,点击右上角的 "New repository" 按钮,填写仓库名称(如 `my-repo`),并选择其他设置(如是否初始化 README 文件),然后点击 "Create repository"。

2.2 生成 SSH Key

为了确保本地与远程仓库之间的通信安全,通常使用 SSH 加密。首先需要生成 SSH Key:

bash 复制代码
ssh-keygen -t rsa -C "your_email@example.com"

将 `your_email@example.com` 替换为你在 GitHub 上注册的邮箱。生成过程中,可以直接按回车使用默认设置。

生成成功后,SSH Key 会保存在 `~/.ssh/` 目录下,其中 `id_rsa.pub` 是公钥文件。

打开 id_rsa.pub ,复制里面的 key。回到 github 上,进入 Account => Settings(账户配置)。

左边选择 SSH and GPG keys ,然后点击 New SSH key 按钮,title 设置标题,可以随便填,粘贴在你电脑上生成的 key。

添加成功后界面如下所示

2.3 验证 SSH 连接

将公钥添加到 GitHub 后,可以通过以下命令验证连接是否成功:

bash 复制代码
ssh -T git@github.com

如果看到类似以下信息,说明连接成功:

bash 复制代码
Hi username! You've successfully authenticated, but GitHub does not provide shell access.

如果连接报错,尝试将GitHub添加到信任主机列表

2.4 本地初始化仓库

在本地创建一个目录,并初始化为 Git 仓库:

bash 复制代码
mkdir my-repo
cd my-repo
git init

2.5 推送本地仓库到远程

将本地仓库与远程仓库关联,要添加一个新的远程仓库,可以使用以下命令:

bash 复制代码
git remote add [shortname] [url]

其中,`shortname` 是远程仓库的别名(通常为 `origin`),`url` 是远程仓库的地址。

bash 复制代码
git remote add origin git@github.com:username/my-repo.git

git add .
git commit -m "Initial commit"

git push -u origin master

当然我们也可以先克隆远程仓库到本地再操作。

三、 管理远程仓库

3.1 查看远程仓库

要查看当前配置的远程仓库,可以使用以下命令:

bash 复制代码
git remote

添加 `-v` 参数可以显示详细的 URL 信息:

bash 复制代码
git remote -v

3.2 提取远程仓库更新

从远程仓库下载新分支与数据:

bash 复制代码
git fetch origin

下载后,可以通过 `git merge` 将远程分支合并到本地分支:

bash 复制代码
git merge origin/master

假设你配置好了一个远程仓库,并且你想要提取更新的数据,你可以首先执行 git fetch 告诉 Git 去获取它有你没有的数据,然后你可以执行 git merge 以将服务器上的任何更新(假设有人这时候推送到服务器了)合并到你的当前分支。 git pullgit fetchgit merge 的组合操作,我们也可以使用下面命令:

bash 复制代码
git pull origin master

3.3 推送更新到远程仓库

将本地分支的更新推送到远程仓库:

bash 复制代码
git push origin master

3.4 删除远程仓库关联

如果需要删除远程仓库关联,可以使用以下命令:

bash 复制代码
git remote rm [shortname]

这命令用于删除本地仓库与远程仓库的关联。具体来说,它会将本地仓库关联的远程仓库配置删除。

**示例:**

bash 复制代码
git remote rm origin

本文详细介绍了如何配置、创建和管理 Git 远程仓库,特别是使用 GitHub 作为远程仓库的场景。通过掌握这些操作,你可以轻松地将本地代码推送到远程仓库,与他人协作开发,并进行高效的版本控制。

相关推荐
ly768919 分钟前
Git 从入门到实战:原理、工作流、分支管理、撤销恢复与团队协作
git·源代码管理
JavaDog程序狗1 小时前
【规范】这套 Git 规范,救了整个团队
git·代码规范·workflow
喜乐MI1 小时前
Git 分支操作避坑指南:merge、cherry-pick、revert 与 reset 怎么选?
git·github
程序员老赵2 小时前
Docker 部署禅道 ZenTao:轻松搭建研发项目管理平台
前端·后端·github
敢敢是只喵i3 小时前
已经登录 BailingHub,为什么 AI 还是不能查询订单?匿名预览与业务身份不是一回事
github
dong_junshuai3 小时前
每天一个开源项目#73 Munder Difflin:2.3K Star 的本地多Agent办公室
开源·github·agent
SL_staff3 小时前
销售知识管理的断点分析与技术解法:从3天找话术到秒级检索
java·开源·github
苏灿烤鱼5 小时前
上下文写成文件系统,为什么向量还能静默丢?
python·github·agent
u1301305 小时前
GitHub 热榜项目:日榜(2026-08-19)
github
AI 编程助手GPT6 小时前
VS Code 1.133 实战:Claude 可免 GitHub 登录,HTML 保存后自动刷新
前端·html·github