GitHub创建远程仓库

使用GitHub创建远程仓库:从零开始实现代码托管与协作

前言

在当今软件开发领域,版本控制系统已成为开发者必备的核心工具。作为分布式版本控制系统的代表,Git凭借其强大的分支管理和高效的协作能力,已成为行业标准。而GitHub作为全球最大的代码托管平台,不仅为开发者提供了安全的云端存储,更构建了活跃的开源社区。本文将手把手教你如何创建GitHub远程仓库,并实现本地项目与云端仓库的完美对接,为个人开发者和团队协作打下坚实基础。


在这里插入图片描述

一、环境准备

1.1 注册GitHub账号

访问GitHub官网完成注册,建议:

  • 使用常用邮箱注册
  • 设置强密码(字母+数字+特殊符号)
  • 完成邮箱验证流程
    在这里插入图片描述

1.2 配置本地Git环境

# 查看Git版本(需2.0+)
git --version# 全局配置用户信息
git config --global user.name "YourName"
git config --global user.email "your@email.com"

二、SSH密钥配置

2.1 生成密钥对

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  • 按3次回车保持默认设置
  • 生成路径:~/.ssh/(Windows在用户目录下)

2.2 添加密钥到GitHub

  1. 复制公钥内容:cat ~/.ssh/id_rsa.pub
  2. GitHub设置页面:Settings → SSH and GPG keys → New SSH key
  3. 输入自定义标题,粘贴密钥内容
    在这里插入图片描述
    在这里插入图片描述

⚠️若出现一下情况:

在这里插入图片描述
解决方法可查看博客
https://blog.csdn.net/m0_73610345/article/details/147322564?sharetype=blogdetail&sharerId=147322564&sharerefer=PC&sharesource=m0_73610345&spm=1011.2480.3001.8118

2.3 验证连接

ssh -T git@github.com
# 成功提示:You've successfully authenticated

三、创建远程仓库

3.1 网页端创建

  1. 点击右上角 ➕ → New repository
  2. 填写仓库信息:
    • Repository name:项目名称(推荐小写+连字符)
    • Description:项目描述(可选)
    • 初始化选项:建议空仓库

在这里插入图片描述
在这里插入图片描述

3.2 本地项目关联

# 初始化本地仓库
$ mkdir runoob-git-test                     # 创建测试目录
$ cd runoob-git-test/                       # 进入测试目录
$ echo "# My First GitHub Repo" > README01.md    # 创建 README.md 文件并写入内容
$ ls                                        # 查看目录下的文件
$ git init                                  # 初始化
$ git add README.md                         # 添加文件
$ git commit -m "添加 README.md 文件"        # 提交并备注信息
[master (root-commit) 0205aab] 添加 README.md 文件1 file changed, 1 insertion(+)create mode 100644 README.md# 提交到 Github
$ git remote add origin git@github.com:yourname/repo-name.git
$ git push -u origin master        # 推送代码(首次需-u参数)

以下命令请根据你在Github成功创建新仓库的地方复制,因为我们的Github用户名不一样,仓库名也不一样。接下来我们返回 Github 创建的仓库,就可以看到文件已上传到 Github上:
在这里插入图片描述


四、仓库管理实战

4.1 日常推送流程

# 修改代码后执行
git add .
git commit -m "更新描述"
git push origin master

4.2 同步远程更新

# 拉取远程变更(推荐方式)
git pull origin master# 等价于:
git fetch origin  # 下载最新内容
git merge origin/master  # 合并到当前分支

4.3 分支管理策略

分支类型说明操作建议
master稳定生产版本仅允许合并提交
develop主要开发分支功能分支的合并目标
feature新功能开发分支按功能模块创建

在这里插入图片描述

五、进阶操作指南

5.1 多远程仓库配置

# 添加第二个远程源
git remote add backup git@gitlab.com:yourname/repo.git# 查看远程列表
git remote -v# 推送到备用仓库
git push backup master

5.2 忽略文件配置

创建.gitignore文件:

# 忽略所有.class文件
*.class# 不忽略lib目录下的.class
!lib/*.class# 忽略node_modules目录
node_modules/# 忽略本地配置文件
config.ini

5.3 仓库重命名/迁移

# 修改远程地址
git remote set-url origin git@github.com:newname/repo.git

六、常见问题排查

6.1 权限拒绝错误

症状:Permission denied (publickey)
解决方案:

  1. 检查SSH密钥是否添加正确
  2. 验证代理设置:ssh -vT git@github.com
  3. 重设密钥权限:chmod 600 ~/.ssh/id_rsa

6.2 版本冲突处理

  1. 使用git status查看冲突文件
  2. 手动解决冲突标记(<<<<<<<)
  3. 重新提交:git add . && git commit -m "解决冲突"

总结

通过本文的实践,您已经掌握了:

  • GitHub远程仓库的创建与配置
  • SSH安全连接的建立方法
  • 本地与远程仓库的同步机制
  • 基础的版本控制工作流程

GitHub不仅是代码托管平台,更是开发者的社交网络。建议进一步探索:

  • Pull Request协作流程
  • GitHub Actions自动化
  • 项目Wiki和Pages功能
  • 社区贡献指南(CONTRIBUTING.md)

掌握GitHub的使用将使您的开发工作更加规范高效,为参与开源项目或团队协作打下坚实基础。立即开始您的代码托管之旅,让每一行代码都有迹可循!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/77979.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Manus技术架构、实现内幕及分布式智能体项目实战 线上高级实训班

Manus技术架构、实现内幕及分布式智能体项目实战 线上高级实训班 模块一&#xff1a;解密Manus分布式多智能体工作原理和架构内幕  基于Claude和Qwen的大模型智能体Manus为何能够迅速成为全球讨论热度最高、使用体验最好、产业界最火爆的大模型智能体产品&#xff1f;  Ma…

JS通过GetCapabilities获取wms服务元数据信息并在SuperMap iClient3D for WebGL进行叠加显示

获取wms服务元数据信息并在三维webgl客户端进行叠加显示 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><tit…

【刷题Day21】TCP(浅)

说说 TCP 的四次挥手&#xff1f; TCP的四次挥手事用于安全关闭一个已建立的连接的过程&#xff0c;它确保双方都能完成数据传输并安全地释放连接资源。 简述步骤&#xff1a; 第一次挥手&#xff08;FIN --> ACK&#xff09;&#xff1a;客户端主动关闭连接&#xff0c;…

Springboot整合Redis主从

Springboot整合Redis主从 前言原配置现配置测试LettuceConnectionFactory.setShareNativeConnection 方法的作用 前言 SpringBoot版本&#xff1a;2.3.2.RELEASE 原配置 原yml配置内容&#xff1a; spring:# Redis服务器配置redis:host: 127.0.0.1# Redis服务器连接端口por…

git撤销最近一次commit

在Git中&#xff0c;在撤销最近一次的提交时&#xff0c;有几种不同的方法&#xff0c;这取决于你想要的结果。下面是一些常见的方法&#xff1a; 1. 取消最近的提交&#xff08;但不删除改动&#xff09; 如果你想要取消最近的提交&#xff0c;但是保留这些改动&#xff0c;以…

解决Docker 配置 daemon.json文件后无法生效

vim /etc/docker/daemon.json 在daemon中配置一下dns {"registry-mirrors": ["https://docker.m.daocloud.io","https://hub-mirror.c.163.com","https://dockerproxy.com","https://docker.mirrors.ustc.edu.cn","ht…

QML--全局对象Qt

在 QML 中&#xff0c;Qt 是一个内置的全局对象&#xff0c;提供了许多核心功能、工具函数、环境信息和类型构造方法。以下是 Qt 全局对象的详细分类和常见用途&#xff1a; 1. 工具函数 1.1 格式化与转换 Qt.formatDate(date, format) / Qt.formatTime(date, format) 格式化…

前端笔记-Vue3(下)

学习参考视频&#xff1a;尚硅谷Vue3入门到实战&#xff0c;最新版vue3TypeScript前端开发教程_哔哩哔哩_bilibili vue3学习目标&#xff1a; VUE 31、Vue3架构与设计理念2、组合式API&#xff08;Composition API&#xff09;3、常用API&#xff1a;ref、reactive、watch、c…

Git远程操作与标签管理

目录 1.理解分布式版本控制系统 2.远程仓库 3.新建远程仓库 4.克隆远程仓库 5.向远程仓库推送 6.拉取远程仓库 7.配置Git 7.1.忽略特殊文件 7.2.给命令配置别名 8.标签管理 8.1.理解标签 8.2.创建标签 8.3.操作标签 1.理解分布式版本控制系统 Git是目前世界上…

Vue3:component(组件:uniapp版本)

目录 一、基本概述二、基本使用(父传子)三、插槽四、子传父 一、基本概述 在项目的开发过程中&#xff0c;页面上井场会出现一些通用的内容&#xff0c;例如头部的导航栏&#xff0c;如果我们每一个页面都去写一遍&#xff0c;那实在是太繁琐了&#xff0c;所以&#xff0c;我…

C#语言实现PDF转Excel

实现效果 第三方库 ClosedXML iTextSharp 实现源码 using System.Text; using iTextSharp.text.pdf; using iTextSharp.text.pdf.parser; using System.Text.RegularExpressions; using ClosedXML.Excel;namespace PdfToExcel_winform {public partial class MainForm : For…

如何将IDP映射属性添加,到accountToken中 方便项目获取登录人信息

✅ 目标 你想要&#xff1a; 用户通过 IdP 登录&#xff08;SAML 或 OAuth2&#xff09;Keycloak 自动将 IdP 返回的属性&#xff08;如&#xff1a;email、name、role 等&#xff09;映射到用户账户中并把这些属性加入到用户登录返回的 Access Token 中&#xff0c;供业务系…

JSON-RPC远程控制

文章目录 &#x1f310; 一、什么是 JSON-RPC&#xff1f;&#x1f4ec; 二、通信过程1️⃣ 客户端发起请求2️⃣ 服务端处理请求&#xff0c;调用方法&#xff0c;返回结果 &#x1f4d1; 三、重要字段说明&#x1f6e0;️ 四、核心函数与概念&#xff08;结合你的代码&#x…

芝法酱躺平攻略(21)——kafka安装和使用

本节内容比较初级&#xff0c;故接着躺平攻略写 一、官网的下载 1.1 下载解压 首先&#xff0c;去官网下载jar包&#xff0c;放进linux中&#xff0c;解压到对应位置。 我的位置放在/WORK/MIDDLEWARE/kafka/4.0 1.2 常见配置 # 每个topic默认的分片数 num.properties4 # 数…

AutoSAR从概念到实践系列之MCAL篇(二)——Mcu模块配置及代码详解(上)

欢迎大家学习我的《AutoSAR从概念到实践系列之MCAL篇》系列课程,我是分享人M哥,目前从事车载控制器的软件开发及测试工作。 学习过程中如有任何疑问,可底下评论! 如果觉得文章内容在工作学习中有帮助到你,麻烦点赞收藏评论+关注走一波!感谢各位的支持! 根据上一篇内容中…

easypoi 实现word模板导出

特此非常致谢&#xff1a;easypoi实现word模板 基础的可以参考上文&#xff1b; 但是我的需求有一点点不一样。 这是我的模板&#xff1a;就是我的t.imgs 是个list 但是很难过的是easy poi 我弄了一天&#xff0c;我都没有弄出来嵌套list循环怎么输出显示&#xff0c;更难过…

Unity中数据存储_LitJson

文章目录 LitJson一&#xff1a;介绍二&#xff1a;特点三&#xff1a;使用四&#xff1a;注意事项 LitJson 一&#xff1a;介绍 LitJson 是一个专为 .NET 设计的轻量级 JSON 处理库&#xff0c;支持序列化和反序列化 JSON 数据。 二&#xff1a;特点 快速且轻量 无外部依赖…

2025年首届人形机器人半程马拉松比赛(附机器人照片)

2025年4月19日&#xff0c;北京亦庄半程马拉松暨人形机器人半场马拉松正式开赛&#xff0c;作为全球首届人形机器人户外跑步成功举办&#xff0c;21.0975公里的户外路程对人形机器人来讲&#xff0c;注定将成为历史性开篇&#xff0c;如果赛事能够持续举办&#xff0c;那举办意…

网络安全职业技能大赛Server2003

通过本地PC中渗透测试平台Kali对服务器场景Windows进⾏系统服务及版本扫描渗透测 试&#xff0c;并将该操作显示结果中Telnet服务对应的端⼝号作为FLAG提交 使用nmap扫描发现目标靶机开放端口232疑似telnet直接进行连接测试成功 Flag&#xff1a;232 通过本地PC中渗透测试平台…

[java八股文][Java基础面试篇]I/O

Java怎么实现网络IO高并发编程&#xff1f; 可以用 Java NIO &#xff0c;是一种同步非阻塞的I/O模型&#xff0c;也是I/O多路复用的基础。 传统的BIO里面socket.read()&#xff0c;如果TCP RecvBuffer里没有数据&#xff0c;函数会一直阻塞&#xff0c;直到收到数据&#xf…