GitHub教程

目录

  • 1.是什么?
  • 2.安装
  • 3.创建库
  • 3.增删改查
  • 4.远程仓库
  • 5.分支
  • 6.标签
  • 7.使用流程
  • 8.总结


1.是什么?

  • Git 是一个命令行工具,但也有许多图形用户界面可用。本地仓库,安装包下载到本地。
  • Git 的一个流行 GUI 是 GitHub,它可以方便地管理存储库、推送和拉取更改以及合并代码。

二者区别


2.安装

下载安装、配置姓名、邮件

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

3.创建库

1.创建库——导航到要保存的目录创建一个库(cd 路径—初始化)

git init

2.添加文件到库——提交单个文件到暂存区

git add filename

在这里插入图片描述在这里插入图片描述
3.提交到Github——提交整个文件夹的文件到版本库-m "修改注释"

git commit -m "Commit message here"

3.增删改查

  • 增加:git add <XXX> 提交文件到暂存区;git commit -m "说明"提交文件到版本库;
  • 删除:git rm <XXX>从版本库删除一个文件(本地也被删除<已暂存的话可找回>)
  • 修改: 本地与版本库的文件差别git diff
  • 查询: 当前工作区状态git status(红色待暂存;绿色暂存待提交;On branch master:提交完成);
  • 日志: git log查看现存最新的提交版本(删除的没有);--pretty=oneline添加后缀查看更清晰(确认要回退的版本ID)
  • 恢复:git reset --hard HEAD^ “几个”^”退几个版本(HEAD ^=commit ID<可直接写3个ID的开头…>);HEAD指向的版本就是当前版本
  • 归档:git reflog查看所有提交的版本ID(包括删除的) ; 先找到ID,再用恢复命令到任意版本;

4.远程仓库

添加SHH公钥(推送的提交确实是你推送的,而不是别人冒充的)

  • cmd添加SSH秘钥_ssh-keygen -t rsa -C "your@mail"
  • 目录下获取公共的秘钥文件_C:\Users\Administrator\ .ssh\id_rsa.pub(id_rsa是私有秘钥)
  • GitHub设置中找到SSH树添加秘钥文件内容
  • 多台电脑推送,设置多个公共秘钥

创建远程库

  • 创建一个远程库_New repository(建议手动勾选自述)
  • 本地库(git bash<右击属性打开窗口>)与远程库相关联_git remote add origin git@github.com:账户名/仓库名.git; git remote rm origin:删除本地远程关联
  • 推送内容到远程库(远程同步)_git push -u origin master

远程库下载

  • 知道仓库的地址,然后使用git clone命令克隆_git clone git@github.com:账户名/仓库名.git

5.分支

分支:多个任务同时进行(建议每进行一个任务都创建一个分支),最后合并合并后再删掉分支,和直接在master分支上工作效果是一样的。

创建分支:

  • git branch(查看分支)
  • git branch <name>(创建分支);
  • git switch -c <name>(创建分支并切换);
  • git checkout/switch <name>(切换分支);
  • git branch -d <name>(删除分支);git branch -D <name>(强行删除未合并的分支)
  • git push origin --delete <name> (远程删除分支)

合并分支:

  • git merge <name>(快进<不留痕迹>方式合并分支);
  • git merge --no-ff -m "描述" <name> (普通合并分支,可查看合并历史)
  • git log --graph(命令可以看到分支合并图)
  • 合并冲突:Git合并失败的文件手动编辑为我们希望的内容,再提交,再合并。

临时分支(改bug):dev当前分支未完成不想提交可以先隐藏干别的分支

  • git stash(隐藏当前分支)
  • git switch master(切换主分支);git switch -c <bug101>(创建fix bug分支)修改-提交-合并-删除分支后切换到dev分支;
  • git stash pop(恢复当前分支)
  • git cherry-pick <ID>(master主分支改完bug后在dev分支复制更改)

多人协作(pull/push)

  • git remote -v(查看远程版本)没有推送权限,看不到push的地址
  • git push origin dev/master(推送自己的分支)除协作分支外没必要都推送
  • git pull(拉取合并)推送失败,将最新的提交从origin/dev抓下来,然后,在本地合并, 解决冲突,再push :
  • git branch --set-upstream-to <branch-name> origin/<branch-name>(创建本地分支和远程分支的链接关系)无法pull,需分支关联,再pull

6.标签

将Commit的一串ID创建一个别名,好找提交的版本

打标签

  • git branch <dev>:进入分支;git tag -a <V1.0> -m "blablabla...":指定标签信息(标签排序是以字母顺序的)
  • git push origin <V1.0>:推送标签到远程库;git push origin --tags:推送所有未推送的标签

查标签

  • git tag:查看所有标签
  • git show <V1.0>:查看标签信息

删标签

  • git tag -d <V1.0>:删除V1.0本地标签;
  • git push origin :refs/tags/<V1.0>:删除远程标签

7.使用流程

在这里插入图片描述


8.总结

请添加图片描述


学习链接

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

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

相关文章

VsCode + EIDE + OpenOCD + STM32(野火DAP) 开发环境配置

VsCode EIDE OpenOCD STM32(野火DAP) 开发环境配置 接受了新时代编辑器的我&#xff0c;实在受不了Keil的上古编辑页面&#xff0c;周树人说过&#xff1a;由奢入俭难&#xff0c;下面我们一起折腾一下开源软件Vscode&#xff0c; 用以开发51和STM32&#xff0c;有错误之处&…

【MySQL】表的增删查改(CRUD)(下)

个人主页&#xff1a;♡喜欢做梦 欢迎 &#x1f44d;点赞 ➕关注 ❤️收藏 &#x1f4ac;评论 本篇是继上篇的下篇&#xff0c;如果上篇没有看过小伙伴&#xff0c;可以先看看我的上一篇再来看一下这一篇【MySQL】表的增删查改&#xff08;CRUD&#xff09;&#xff08;上…

知识周汇 | Python操作Excel全攻略系列(一):模块详解篇

目录 系列文章 前言 1 知识概览 2 模块详解 2.1 openpyxl 2.2 pandas 2.3 xlrd 2.4 xlwt 2.5 xlsxwriter 2.6 xlwing 3 后续 系列文章 知识周汇 | Python操作Excel全攻略系列&#xff08;二&#xff09;&#xff1a;文件操作篇 知识周汇 | Python操作Excel全攻略系…

NVIDIA GPU 架构详解:Pascal、Volta、Turing、Ampere、Ada、Hopper、Blackwell

目录 1. Pascal&#xff08;帕斯卡&#xff09;架构&#xff08;2016&#xff09;关键技术性能特性代表产品应用场景 2. Volta&#xff08;伏特&#xff09;架构&#xff08;2017&#xff09;关键技术性能特性代表产品应用场景 3.Turing&#xff08;图灵&#xff09;架构&#…

SpringMVC学习(controller层加载控制与(业务、功能)bean加载控制、Web容器初始化配置类)(3)

目录 一、SpringMVC、Spring的bean加载控制。 &#xff08;1&#xff09;实际开发的包结构层次。 &#xff08;2&#xff09;如何"精准"控制两个容器分别加载各自bean。(分析) <1>SpringMVC相关bean加载控制。(方法) <2>Spring相关bean加载控制。(方法) …

通过Docker搭个游戏——疯狂大陆(Pkland)

最近在研究我的服务器&#xff0c;在服务器上搭了很多docker的项目&#xff0c;然后找着找着发现一个能用Docker配置环境的游戏叫Pkland。 项目地址&#xff1a;GitHub - popkarthb/pkland: 疯狂大陆是一款多人在线的战略游戏。 游戏操作简捷,您仅需要使用浏览器就可以在任何时…

【SpringBoot】深入解析 Maven 的操作与配置

Maven 1.什么是Maven? Maven是一个项目管理工具&#xff0c;通过pom.xml文件的配置获取jar包&#xff0c;而不用手动去添加jar包&#xff1b; 2. 创建一个Maven项目 IDEA本身已经集成了Maven&#xff0c;我们可以直接使用&#xff0c;无需安装 以下截图的idea版本为&#xff…

Cursor + IDEA 双开极速交互

相信很多开发者朋友应该和我一样吧&#xff0c;都是Cursor和IDEA双开的开发模式:在Cursor中快速编写和生成代码&#xff0c;然后在IDEA中进行调试和优化 在这个双开模式的开发过程中&#xff0c;我就遇到一个说大不大说小不小的问题&#xff1a; 得在两个编辑器之间来回切换查…

HarmonyOS:如何将图片转为PixelMap并进行图片缓存策略

前言&#xff1a;在HarmonyOS项目开发中&#xff0c;我们使用Ark-Ts语言开发项目。我们有个功能是拍照&#xff0c;除了正常显示出来&#xff0c;并且上传服务器。我在开发过程中&#xff0c;遇到的问题是&#xff0c;如果离开这个页面再回到当前页面仍要显示图片&#xff0c;那…

ctf网络安全比赛有一张图片怎么查看

0102-JavaScript简介&&作用 02简介 JavaScript 是互联网上最流行的脚本语言&#xff0c;这门语言可用于 HTML 和 web&#xff0c;更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。 03作用 JavaScript 是脚本语言 JavaScript 是一种轻量级的编程语…

搭建一个简单的node服务,模拟后端接口

目录 一、查看是否安装了node和npm 二、创建一个文件夹&#xff0c;用于放你的node服务代码 三、初始化一个package.json 四、安装 Express&#xff08;快速搭建服务的框架&#xff09; 五、创建serve.js 六、运行服务即可 七、测试接口 法一&#xff1a;使用 curl 法…

【五.LangChain技术与应用】【31.LangChain ReAct Agent:反应式智能代理的实现】

一、ReAct Agent是啥?为什么说它比「普通AI」聪明? 想象一下,你让ChatGPT查快递物流,它可能直接编个假单号糊弄你。但换成ReAct Agent,它会先推理(Reasoning)需要调用哪个接口,再行动(Action)查询真实数据——这就是ReAct的核心:让AI学会「动脑子」再动手。 举个真…

BUUCTF逆向刷题笔记(1-12)

easyre、内涵的软件、xor、不一样的flag&#xff1a; buuctf reverse部分题解&#xff08;实时更新&#xff09;_reverse 题解-CSDN博客 请见小库里的blog。 reverse1 查壳发现没有&#xff0c;而且是64位 粗略改一下部分函数名&#xff0c;看看主要逻辑。 第一个for循环暂…

OceanBase-obcp-v3考试资料梳理

集群架构 基本概念 集群: 集群由一个或多个Region组成,Region 由一个或多个Zone组成,Zone由一个或多个OBServer组成,每个OBServer里有若干个partition的Replica。 Region: 对应物理上的一个城市或地域,当OB集群由多个Region组成时, 数据库的数据和服务能力就具备地域…

【C++】双指针算法

我们还有更长的路要走&#xff0c;不过没关系&#xff0c;道路就是生活。 前言 这是我自己学习蓝桥杯算法的第一篇博客总结。后期我会继续把蓝桥杯算法学习笔记开源至博客上。 技巧 1. 双指针算法&#xff0c;但实际上是利用数组下标来充当指针&#xff0c;并不是直接使用指…

如何使用MyBatis进行多表查询

前言 在实际开发中&#xff0c;对数据库的操作通常会涉及多张表&#xff0c;MyBatis提供了关联映射&#xff0c;这些关联映射可以很好地处理表与表&#xff0c;对象与对象之间的的关联关系。 一对一查询 步骤&#xff1a; 先确定表的一对一关系确定好实体类&#xff0c;添加关…

江科大51单片机笔记【9】DS1302实时时钟(上)

一、DS1302介绍 DS1302是由美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟芯片。它可以对年、月、日、周、时、分、秒进行计时&#xff0c;且具有闰年补偿等多种功能。RTC&#xff08;Real Time Clock&#xff09;&#xff1a;实时时钟&#xff0c;是一种集成电路…

【Python项目】基于深度学习的车辆特征分析系统

【Python项目】基于深度学习的车辆特征分析系统 技术简介&#xff1a;采用Python技术、MySQL数据库、卷积神经网络&#xff08;CNN&#xff09;等实现。 系统简介&#xff1a;该系统基于深度学习技术&#xff0c;特别是卷积神经网络&#xff08;CNN&#xff09;&#xff0c;用…

汽车智能钥匙中PKE低频天线的作用

PKE&#xff08;Passive Keyless Entry&#xff09;即被动式无钥匙进入系统&#xff0c;汽车智能钥匙中PKE低频天线在现代汽车的智能功能和安全保障方面发挥着关键作用&#xff0c;以下是其具体作用&#xff1a; 信号交互与身份认证 低频信号接收&#xff1a;当车主靠近车辆时…

大模型AI平台DeepSeek 眼中的SQL2API平台:QuickAPI、dbapi 和 Magic API 介绍与对比

目录 1 QuickAPI 介绍 2 dbapi 介绍 3 Magic API 介绍 4 简单对比 5 总结 统一数据服务平台是一种低代码的方式&#xff0c;实现一般是通过SQL能直接生成数据API&#xff0c;同时能对产生的数据API进行全生命周期的管理&#xff0c;典型的SQL2API的实现模式。 以下是针对…