当前位置: 首页 > news >正文

git操作(Windows中GitHub)

使用git控制GitHub中的仓库版本,并在Windows桌面中创建与修改代码,与GitHub仓库进行同步。

创建自己的GitHub仓库

创建一个gen_code实验性仓库用来学习和验证git在Windows下的使用方法:

gen_code仓库

注意,创建仓库时不要设置readme文件!否则极易出现error: failed to push some refs 错误!

git初始设置

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

将Windows文件夹与GitHub的SSH联通

要想实现git的操作需要使用ssh或者https的连接方式进行克隆,我想使用ssh连接,因此需要设置相应的ssh key。

生成ssh密钥

ssh-keygen -t ed25519 -C "你的GitHub邮箱"

一路回车,设置密码短语。

复制公钥

默认情况下ssh的key会被保存在C:\Users\你的用户名\.ssh\id_ed25519的位置,可以在bash中直接使用如下命令复制:

clip < ~/.ssh/id_rsa.pub

如果复制不成功,可以去这个文件夹下使用cat指令或用编辑器打开查看和复制。

将复制的公钥复制到GitHub 账户 → 右上角头像菜单 → “Settings” → “SSH and GPG keys” → “New SSH key”位置。

在这里插入图片描述

测试ssh连接

回到 Git Bash,输入:

ssh -T git@github.com

如果显示类似 “Hi username! You’ve successfully authenticated…” 就表示 SSH Key 连接成功。

克隆仓库

在想要放置文件夹的位置打开git bash,并使用git clone进行仓库的克隆。

git clone {仓库ssh链接}

如果出现类似于下面的错误:

Cloning into 'gen_code'...
ssh: connect to host github.com port 22: Connection timed out
fatal: Could not read from remote repository.Please make sure you have the correct access rights
and the repository exists.

许多网络(如公司网络或某些公共 Wi-Fi)会屏蔽 SSH 的默认端口 22,导致无法通过 SSH 与 GitHub 通信。我们可以使用GitHub的备用端口443:

  1. 在 Git Bash 中修改 SSH 配置文件:
nano ~/.ssh/config
  1. 在文件中直接复制添加以下内容:
Host github.comHostname ssh.github.comPort 443
  1. 保存并退出(按 Ctrl + O 保存,Ctrl + X 退出)。
  2. 测试连接:
ssh -T git@github.com

应该能解决这个问题。
配置正常后,可以使用git clone命令了克隆远程仓库到本地。

我们其他分支修改代码之前,要先拉取一下最新的主代码:
git pull origin main
确保我们要修改的代码始终处于最新的状态。

当我们使用git push -u origin {你敢才创建的分支名}时会在GitHub中产生一个新的提交,

请添加图片描述

我们进去看看:

请添加图片描述

由于只有我一个人,所以直接创建pr就可以了。

请添加图片描述

同样我自己就是管理员,所以直接同意合入:

请添加图片描述

这样就成功把在本地编写的分支代码合入了主分支中,实现了代码的更新。

http://www.lryc.cn/news/522628.html

相关文章:

  • 物联网网关Web服务器--Boa服务器移植与测试
  • vue3学习日记8 - 一级分类
  • 前端实习第二个月小结
  • 深入了解卷积神经网络(CNN):图像处理与深度学习的革命性技术
  • b站视频(网页加客户端)+本地视频 生成回链
  • 3.数据库系统
  • 红米k40s设备驱动设备驱动树
  • Linux-C/C++--文件 I/O 基础
  • HarmonyOS NEXT开发进阶(六):HarmonyOS NEXT实现嵌套 H5 及双向通信
  • 【Flink系列】4. Flink运行时架构
  • 动态主机配置协议 (DHCPv4)介绍,详细DHCP协议学习笔记
  • Vue.js组件开发-如何处理跨域请求
  • 【C++】构造函数与析构函数
  • Agent区别于MOE和RAG的核心; Agent(智能体)、RAG和MOE区别
  • 【PCL】Segmentation 模块—— 欧几里得聚类提取(Euclidean Cluster Extraction)
  • LuaJIT Garbage Collector Algorithms
  • go采集注册表
  • 软件工程师欧以宁:引领无人机导航与物联网安全的技术革新
  • 从零开始:Gitee 仓库创建与 Git 配置指南
  • 浅谈计算机网络02 | SDN控制平面
  • 在 QNAP NAS中使用 Container Station 运行 Docker 的完整指南
  • XML在线格式化 - 加菲工具
  • 大数据学习(34)-mapreduce详解
  • 代码合并冲突解决push不上去的问题
  • 万字长文介绍ARINC 653,以及在综合模块化航空电子设备(IMA)中的作用
  • MySQL 与 Redis 数据一致性 2
  • MySQL程序之:使用类似URI的字符串或键值对连接到服务器
  • Docker私有仓库管理工具Registry
  • 若依前后端分离项目部署(使用docker)
  • Unity2021.3.13崩溃的一种情况