【新手入门】Github与Git使用教程

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

Github与Git

一、Github基础教程

1.1 基本操作
  • 点击代码文件可以直接查看文件的内容,支持在线修改文件,只需要点击(文件内容)右上角的编辑按钮即可进行编辑。

    请添加图片描述

  • README.md一般介绍项目的功能,用法,注意事项;有时还有作者的寄语。

  • Code按钮选择Download Zip,可以直接下载源码(无需登录即可下载)

请添加图片描述

  • 点开个人主页,即可看到Repositories仓库位置,并且可以搜索项目

请添加图片描述

  • 我们也可以通过fork将别人的项目拉取到自己的本地仓库repositories
1.2 如何新建一个自己的项目

首先,我们需要在[Github官网](GitHub: Let’s build from here · GitHub)上注册账号并且登陆进去。

在这里我们可以创建一个自己的库。

img

img

其他选项默认就可以。

创建项目之后,我们可以选择上传文件。

请添加图片描述

我们在Issues处可以对别人的项目进行评论或提问,与作者进行交互。

二、Git入门

1. git bash的下载与安装

Git官网下载地址:Git (git-scm.com)

选择自己操作系统对应的GIT之后,在安装过程中一路next即可。

2. 配置用户名和邮箱
git config --global user.name “gitname”
git config --global user.email “git邮箱”# 注意,此处的邮箱必须和Github绑定的邮箱一致
3. Git 和 Github 的绑定
2.1获取SSH keys
  • 输入 cd ~/.ssh,返回"no such file or directory"表明电脑没有ssh key,需要创建ssh key。

img

  • 然后输入 ssh-keygen -t rsa -C “git账号”

img

  • 输入之后一路(三次)Enter(确认)就可以了

以下截图就证明成功了,这个时候按照它给的打开以下地址:

img

  • 按路径进入.ssh,里面存储的是两个ssh key的秘钥,id_rsa.pub文件里面存储的是公钥,id_rsa文件里存储的是私钥,不能告诉别人。打开id_rsa.pub文件,复制里面的内容。

img

2.2 绑定ssh密钥
  • 接下来我们需要登录到我们的GitHub上边添加这个密匙

img

  • 随便填写名字以及刚才复制的公钥(id_rsa.pub内容),添加后配置完成。

img

  • 之后我们就添加成功啦!

img

  • 之后我们回到Git bash上边,输入:ssh -T git@github.com
    来检查是否成功绑定。如果输入代码之后再选择yes出来是这样说明就成功啦!!!

img

我们完成了本地 Git 与远程 GitHub 的绑定,这意味着我们已经可以通过 Git 向 GitHub 提交代码啦!

三、通过Git将代码提交到Github

1. 克隆仓库
  • 下面就要将我们的库克隆下来到本地电脑中,方便以后进行上传代码。

img

  • 点进仓库之后点击Code,点击ssh会看到一串网址(http也可以),这个地址就是代码地址,git clone 命令会用的到。

img

  • 接下来我们就开始选择文件存储地方了,在本地电脑中找到存储文件的地方(项目直接克隆到该位置),然后右键选择Git Bash Here:

img

3.1.1 git clone 获取别人的项目
  • 然后输入git clone地址(这个地址就是刚刚库那个Code的上代码地址)

img

  • 打开文件夹

请添加图片描述

克隆过来之后,会发现主要包含两大部分,.git和项目源码,不要手动去更改.git文件!!!

3.1.2 git init 自己新建项目

在存储文件的位置新建一个文件夹,并且打开这个文件夹,在文件夹内部右键点击git bash,直接在文件夹内部导入一个.git文件,剩余的部分就可以看作是一个工作区。

请添加图片描述

2. 保存修改

创建项目后,我们通过:

  • git add [.|FILE_NAME] .表示将当前文件夹内的所有文件和非空文件夹都加载进暂存区(文件在被提交(commit)进.git之前都需要先放进暂存区),也可以选择将特定文件进行提交,避免将其他一些未完成的文件提交,导致注释和结构的混乱。

请添加图片描述

  • git commit -m "COMMENT" 表示对最新的提交记录附上注释。
  • git log 查看之前的提交记录,可以看到作者,时间,以及提交记录编号。

请添加图片描述

  • 如果源码需要恢复到上一次commit之前的状态,使用git checkout HEAD FILE_NAME

请添加图片描述

3. 远程和本地的交互

push:如果我们本地的代码有了更新,为了保持本地与远程的代码同步,我们就需要把本地的代码"推"到远程的仓库.

用于将本地仓库的提交推送到远程仓库的main分支。

git push origin main

pull:如果我们远程仓库的代码有了更新,同样为了保持本地与远程的代码同步,我们就需要把远程的代码"拉"到本地。

git pull origin main

在新建好仓库之后,输入push指令git push origin main,下图就代表成功了

img

打开GitHub,看到刚刚上传的文件,显示成功。
在这里插入图片描述

在这里插入图片描述

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

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

相关文章

虚拟机有线已连接但无法上网—·可能性之一

背景 VMware虚拟机,搭建了三台Linux服务器,组成Hadoop集群,由于在Hadoop102上有一些经常与Mysql数据库交互的任务,需要经常打开运行,而Hadoop103和104则经常处于关闭状态,一段时间后再次启动集群时候&…

Springboot整合 Spring Cloud Gateway

1.Gateway介绍 1.是spring cloud官方推出的响应式的API网关框架,旨在为微服务架构提供一种简单有效的API路由的管理方式,并基于Filter的方式提供网关的基本功能,例如:安全认证,监控,限流等等。 2.功能特征…

【逆天OP懒狗的JAVA自学笔记--5.判断和循环】第二阶段始篇

文章目录 前言一、流程控制语句1.顺序结构(最简单)2.分支结构2.1 if 语句2.1.1 if语句的三种格式2.1.2 if 的注意事项 2.2 switch 语句2.2.1switch 的扩展知识 3.循环结构3.1 for 循环 扩展小点://1.求和的变量不能定义在循环的里面&#xff…

解决finalshell无法连接,一直提示登陆密码

问题描述 在使用FinalShell连接配置虚拟机时,无法正常连接,一直提示输入登录密码,即使输入的密码是正确的。 切换到root 模式,输入密码 su root 此时需要输入root账户的密码,但是我们又不知道root的密码,怎么办&…

嵌入式STM32中I2C控制器外设详解

STM32中的I2C外设主要负责IIC协议与外界进行通信,就像USART外设一样,我们在学习的过程中,需要抓住I2C应用的重点。 STM32在使用I2C协议时,可以通过两种方式, 一是软件模拟协议 意思是使用CPU直接控制通讯引脚的电平,产生出符合通讯协议标准的逻辑。例如,像点亮LED那样…

绝地求生:经典艾伦格即将回归!绝地求生艾伦格进化史

29.2版本经典艾伦格地图将会回归,让我回顾一下艾伦格地图的改动历史吧! 回归时间 2016年早期A测 A测 4.1版本:艾伦格-新视界 主要区域变动 Military Base(军事基地) Military Base Mylta Power(大电) Mylta Power …

微信小程序开发题库

一. 单选题&#xff08;共12题&#xff0c;60分&#xff09; 1. (单选题) 有如下HTML代码&#xff1a; <!DOCTYPE html> <html> <head> <meta charset"UTF-8"> <title>Document</title> <style> ul,li{ margin:0; p…

【计算机网络】数据链路层 组帧 习题4

组帧 发送方根据一定的规则将网络层递交的分组封装成帧(也称为组帧)。 组帧时&#xff0c;既要加首部&#xff0c;也要加尾部&#xff0c;原因是&#xff0c;在网络信息中&#xff0c;帧是以最小单位传输的。所以接收方要正确地接收帧&#xff0c;就必须清楚该帧在一串比特串中…

EasyExcel 中实体类的注解@ExcelProperty

ExcelProperty(value "职务", index 0) value 与index 的优先级, 实测得出下面结论. 1、只有value : 按照value 的匹配 2、只有index: 按照index 的匹配 3、 同时有value和index: 按照index的匹配. 结果: 按照index的匹配, 找到的数据 {"administrat…

大模型管理工具:SWIFT

目录 一、SWIFT 介绍 二、SWIFT 安装 2.0 配置环境(可选) 2.1 使用pip进行安装 2.2 源代码安装 2.3 启动 WEB-UI 三、部署模型 3.0 deploy命令参数 3.1 原始模型 3.2 微调后模型 一、SWIFT 介绍 SWIFT&#xff08;Scalable lightWeight Infrastructure for Fine-Tuni…

MySQL8.0就地升级到MySQL8.4.0

MySQL8.0就地升级到MySQL8.4.0 升级需求&#xff1a;将8.0.35升级到8.4.0,以In-Place方式直接升级到MySQL8.4.0。 数据库版本 操作系统版本 原版本 8.0.35 Centos7.9 x86_64 新版本 8.4.0 Centos7.9 x86_64 关闭现有版本MySQL&#xff0c;将二进制或包替换成新版本并…

对比学习笔记

这里写目录标题 什么是对比学习计算机视觉中的对比学习对比学习在NLP中的应用 什么是对比学习 对比学习是在没有标签的前提下学习样本之间的是否相似&#xff0c;其实和二分类比较相似&#xff0c;判断两个图像是不是属于同一个类别。换句话来说就是把相近的分布推得更近&…

用Arm CCA解锁数据的力量

安全之安全(security)博客目录导读 目录 CCA将如何改变Arm架构呢? 在实践中部署CCA 释放数据和人工智能的全部力量和潜力 早期计算中最大的挑战之一是管理计算资源&#xff0c;以最大化计算效率同时提供给不同程序或用户分配资源的分离。这导致了我们今天大多数使用的时间…

MinIO学习笔记

MINIO干什么用的&#xff1a; AI数据基础设施的对象存储 为人工智能系统提供数据支持&#xff0c;数据存储&#xff1b;对象存储&#xff08;Object Storage&#xff09;是一种数据存储架构&#xff0c;它以对象为单位来处理、存储和检索数据&#xff0c;每个对象都包含了数据本…

ModuleSim 仿真找不到模块 module is not defined

提示如下&#xff1a; # vsim -t 1ps -L altera_ver -L lpm_ver -L sgate_ver -L altera_mf_ver -L altera_lnsim_ver -L cycloneive_ver -L rtl_work -L work -voptargs""acc"" pulse_generator_tb # Start time: 14:26:25 on May 10,2024 # ** Note: (…

开关电源功率测试方法:输入、输出功率测试步骤

在现代电子设备中&#xff0c;开关电源扮演着至关重要的角色&#xff0c;其效率和稳定性直接影响到整个系统的性能。因此&#xff0c;对开关电源进行功率测试成为了电源管理的重要环节。本文将详细介绍如何使用DC-DC电源模块测试系统对开关电源的输入输出功率进行准确测量&…

网络安全之OSPF进阶

该文针对OSPF进行一个全面的认识。建议了解OSPF的基础后进行本文的一个阅读能较好理解本文。 OSPF基础的内容请查看&#xff1a;网络安全之动态路由OSPF基础-CSDN博客 OSPF中更新方式中的触发更新30分钟的链路状态刷新。是因为其算法决定的&#xff0c;距离矢量型协议是边算边…

Python | Leetcode Python题解之第87题扰乱字符串

题目&#xff1a; 题解&#xff1a; class Solution:def isScramble(self, s1: str, s2: str) -> bool:cachedef dfs(i1: int, i2: int, length: int) -> bool:"""第一个字符串从 i1 开始&#xff0c;第二个字符串从 i2 开始&#xff0c;子串的长度为 le…

5.13号模拟前端面试10问

1.介绍箭头函数和普通函数的区别 箭头函数和普通函数在JavaScript中有一些重要的区别。以下是关于这些区别的详细解释&#xff1a; 语法结构上的差异&#xff1a; 箭头函数使用更简洁的语法&#xff0c;它不需要使用function关键字&#xff0c;而是使用一个箭头&#xff08;…

第三方组件element-ui

1、创建 选vue2 不要快照 vue2于vue3差异 vue2main。js import Vue from vue import App from ./App.vueVue.config.productionTip falsenew Vue({render: h > h(App), }).$mount(#app)vue3 main.js vue2不能有多个跟组件&#xff08;div&#xff09;