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

Git与Github常用方法

目录

  • 1. Github基本使用方法
  • 2. Git使用方法
  • 3. git、VS code、Github联合使用方法
  • 4. Git配置Github远程仓库SSH密钥
  • 5 常见问题

1. Github基本使用方法

  • 仓库(Repository):Github上用来存放代码的空间,包含代码、文档和其他文件。
  • 提交(Commit):Git是一种版本控制系统,它通过不断提交新的修改内容来记录代码的版本,每次提交称为一次“提交”(Commit)。
  • 分支(Branch):在Git上,每一个代码仓库都有一个主分支(master branch),每个开发者都可以从主分支上创建一个自己的分支Branch),在自己的分支上进行开发,完成开发后再将分支合并到主分支上。
  • 合并(Merge):将分支上的代码或修改合并到主分支或其他分支上。
  • 请求合并(Pull Request):开发者在自己的分支上开发完代码后,将修改请求合并到主分支或其他分支上,请求合并的过程称为“Pull Request”,开源社区的成员可以对请求进行审查和讨论。

主要操作:

  1. 创建仓库:“New Repository”->“Create Repository”;
    在这里插入图片描述

  2. 克隆仓库:直接点击“download ZIP”(下载的只是整个项目文件);或者用git命令" git clone https://github.com/*************.git"(下载的不仅是整个项目文件,还有仓库属性)
    在这里插入图片描述

  3. 上传文件:点击addfile即可或者采用git命令(详情见文章后面)
    在这里插入图片描述

  4. 提交更改(pull request)看到别人仓库的东西,想提出修改意见,可点击“pull request”,上传自己修改过的代码和描述。
    在这里插入图片描述

  5. 提交疑问(Issues):基于查看过代码仓库的前提提交问题和提交说明,仓库创建者有权利关闭问题并和网友评论问题以及添加标签。

  6. README.md文件:这个项目的整体介绍和使用的方法。

  7. License文件:如果你想把这个代码抄到项目中,一定要注意license。如果是MIT这种,就代表你只要保留了原作者的一些版权信息在源代码里,基本上就可以无限制使用,也不用付费。如果有一些奇奇怪怪的LICENSE,既不是MIT也不是Apache软件基金会的那种。就需要和公司法务确认好,以避免不必要的官司和纠纷。

找开源项目的一些途径:

• https://github.com/trending/
• https://github.com/521xueweihan/HelloGitHub
• https://github.com/ruanyf/weekly
• https://www.zhihu.com/column/mm-fe

查找资源的前后缀技巧:

• 找百科大全 awesome xxx
• 找例子 xxx sample
• 找空项目架子 xxx starter / xxx boilerplate 
• 找教程  xxx tutorial

2. Git使用方法

Git是一款分布式源代码管理工具(版本控制工具) ,可以用来合作开发项目,不同阶段提交代码的回溯等等,经常与Github搭配使用。

常用Git命令:

  • 克隆仓库:git clone 地址 ,例如:
   git clone https://github.com/ABC/test.git
  • 初始化仓库:在本地新建一个文件夹,用git bash打开,输入git init,就可以把该文件夹当作一个git仓库使用。
  git init
  • 修改名字和邮箱:第一次使用git的时候,需要设置用户的名字和邮箱。
git config --global user.name "your username" 
git config --global user.email "your email"
  • 将修改或新建文件添加到暂存区:
git add 文件名    //单独添加某个文件到暂存区
git add .           //添加所有修改或新建文件到暂存区
  • commit将暂存区的文件提交到本地仓库中:
git commit -m "提交描述信息"
  • 查看提交的历史纪录:
git log --stat
  • 在工作区(还没有commit)回滚一个文件到初始状态:
git checkout filename
  • 如果已经commit,想撤回:
git reset HEAD^n     //n表示第上n个commit回滚
git reset HEAD^1    //表示撤销最后一次提交
  • 以当前分支为基础新建分支:
git checkout -b branchname
  • 列举所有分支:
git branch
  • 切换到某个分支:
git checkout branchname
  • 删除某个分支:
git branch -D branchname
  • 合并分支:可能会遇到分支合并冲突(例如不同的分支均修改了之前相同文件中的同一地方代码,合并冲突时需要人为解决)
git merge branchname
  • 将本地仓库与远程仓库连接起来:
git remote add origin 远程仓库地址
  • 推送当前分支最新的提交到远程代码库:
git push
  • 拉取远程分支最新的提交到本地:
git pull
  • 将拉取远程仓库内容与本地仓库内容融合:
    git pull --rebase origin master

3. git、VS code、Github联合使用方法

  1. git 和VScode安装完成后,在vscode中安装插件“Gitlens”
    在这里插入图片描述
  2. 用vscode打开项目文件夹。 在vscode终端中添加一个git bash终端,用于输入git命令建立和管理仓库 在这里插入图片描述
  3. 依次进行如下操作:
git init //初始化git add .  //将当前目录下修改的所有代码从工作区添加到暂存区git commit -m  “注释”  //将缓存区内容添加到本地仓库git remote add origin 远程仓库地址  //将本地仓库与远程仓库连接起来git push origin master //将项目推送到远程仓库的master分支上

在推送过程中可能会让你登录Github账号,授予推送权限。有一种用SSH密钥的方法,可以避免每次需要进行GitHub登录验证,如下。

4. Git配置Github远程仓库SSH密钥

  1. 设置本地git账户邮箱和用户名:
git config --global user.name "your username" 
git config --global user.email "your email"
  1. 生成新的SSH密钥:
ssh-keygen -t rsa -C "your email"  //第一次配置连续敲回车即可,如果重新配置 选y再回车即可
  1. 查看生成的密钥:
cat ~/.ssh/id_rsa.pub
  1. 将密钥复制到Github账户的SSH key中,点击add ssh key:

在这里插入图片描述
成功状态如下:
在这里插入图片描述

  1. 之后再用git remote add origin 远程仓库地址 ,将本地仓库与远程仓库连接,就可以直接git push或pull。

5 常见问题

  1. git push或者git pull时,出现连接不上的提示(fatal: unable to access ‘XXX‘: Recv failure: Connection was reset),首先看看浏览器网页是否可以直接访问github;如果直接可以访问github网页,但依然报错,就需要刷新一下设置:
git config --global --unset http.proxy
git config --global --unset https.proxy

并且在电脑cmd命令行中输入ipconfig/flushdns,刷新一下DNS

  1. git push后显示如下提示,表示远程仓库和本地仓库中,有的文件远程仓库有,本地却没有。需要先git pull --rebase origin master 拉取一下远程仓库中本地没有的文件到本地仓库,在进行git push推送。
    在这里插入图片描述

相关文章:

Git与Github常用方法

目录 1. Github基本使用方法2. Git使用方法3. git、VS code、Github联合使用方法4. Git配置Github远程仓库SSH密钥5 常见问题 1. Github基本使用方法 仓库(Repository):Github上用来存放代码的空间,包含代码、文档和其他文件。提…...

Centos7离线安装MySQL8

1、下载MySQL https://downloads.mysql.com/archives/community/ 2、下载完毕后,上传到Centos,解压 tar -xf mysql-8.0.33-1.el7.x86_64.rpm-bundle.tar 3、逐条执行安装命令 rpm -ivh mysql-community-common-8.0.33-1.el7.x86_64.rpm rpm -ivh …...

AWD攻防学习总结(草稿状态,待陆续补充)

AWD攻防学习总结 防守端1、修改密码2、备份网站3、备份数据库4、部署WAF5、部署文件监控脚本6、部署流量监控脚本/工具7、D盾扫描,删除预留webshell8、代码审计,seay/fortify扫描,漏洞修复及利用9、时刻关注流量和积分信息,掉分时…...

扫雷(超详解+全部码源)

C语言经典游戏扫雷 前言一.游戏规则二.所需文件三.创建菜单四.游戏核心内容实现1.创建棋盘2.打印棋盘3.布置雷4.排查雷5.game()函数具体实现 五.游戏运行实操六.全部码源 前言 😀C语言实现扫雷是对基础代码能力的考察。通过本篇文章你将学会如何制作出扫雷&#xff…...

python生成exe脚本全过程

python生成exe脚本全过程 1、定义设计的GUI界面2、几个GUI界面常用函数2.1 tk.Label2.2 tk.StringVar2.3 tk.Entry2.4 tk.Button2.5 tk.Text2.6 tk.Scrollbar 3、实例3.1 需求3.2实现 4、如何使用pycharm生成可执行exe文件4.1安装pyinstaller4.2 生成exe文件 5、生成exe过程中遇…...

【机器学习1】什么是机器学习机器学习的重要性

什么是机器学习? 简而言之,机器学习就是训练机器去学习。 机器学习作为人工智能(Artificial Intelligence,AI)的一个分支,以其最基本的形式来使用算法通过从数据中获取知识来进行预测。 不同于人类通过分析大量数据手动推导规则和模型,机…...

立即开始使用 3D 图像

一、说明 这个故事介绍了使用这种类型的数据来训练机器学习3D模型。特别是,我们讨论了Kaggle中可用的MNIST数据集的3D版本,以及如何使用Keras训练模型识别3D数字。 3D 数据无处不在。由于我们希望构建AI来与我们的物理世界进行交互,因此使用3…...

鸿鹄工程项目管理系统em Spring Cloud+Spring Boot+前后端分离构建工程项目管理系统em

​ Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下: 首页 工作台:待办工作、消息通知、预警信息,点击可进入相应的列表 项目进度图表:选择(总体或单个)项目…...

《向量数据库》——怎么安装向量检索库Faiss?

装 Faiss 以下教程将展示如何在 Linux 系统上安装 Faiss: 1. 安装 Conda。 在安装 Faiss 之前,先在系统上安装 Conda。Conda 是一个开源软件包和环境管理系统,可在 Windows、macOS 和 Linux 操作系统上运行。根据以下步骤在 Linux 系统上安装 Conda。 2. 从官网…...

学习pytorch 2 导入查看dataset

学习pytorch 2 2. dataset实战代码数据集 2. dataset实战 B站小土堆视频 代码 from torch.utils.data import Dataset from PIL import Image #import cv2 import osclass MyData(Dataset):def __init__(self, root_dir, label_dir):self.root_dir root_dirself.label_dir …...

三、kubeadm部署单Master节点kubernetes集群

kubeadm部署单Master节点kubernetes集群 一、kubernetes 1.21发布 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sGgnZuno-1691633861803)(kubeadm部署单Master节点kubernetes集群 1.21.0.assets/image-20220119160108054.png)] 1.1 介绍 2021年…...

js-6:typeof和instanceof的区别

1、typeof typeof操作符返回一个字符串,表示未经计算的操作数的类型。 operand表示对象或原始值的表达式,其类型将被返回。 从上面的例子可以看出,前6个都是基础数据类型,虽然typeof null为object,但这只是javascrip…...

SQL SERVER 异地备份到远程共享文件夹异常处理

SQL SERVER 异地备份到远程共享文件夹异常处理 SQL Server 异地备份到远程共享文件夹异常处理 - 灰信网(软件开发博客聚合) -- 允许配置高级选项 EXEC sp_configure show advanced options, 1 GO -- 重新配置 RECONFIGURE GO -- 启用xp_cmdshell EXEC sp…...

服务器数据恢复-RAID5上层Hyper-V虚拟机数据恢复案例

服务器数据恢复环境: 一台Windows Server服务器,部署Hyper-V虚拟化环境,虚拟机的硬盘文件和配置文件存放在一台DELL存储中。该存储中有一组由4块硬盘组建的RAID5阵列,用来存放虚拟机的数据文件,另外还有一块大容量硬盘…...

Easy Rules规则引擎(1-基础篇)

目录 一、序言二、Easy Rules介绍三、定义规则(Rules)1、规则介绍2、编程式规则定义3、声明式规则定义 四、定义事实(Facts)五、定义规则引擎(Rules Engine)1、规则引擎介绍2、InferenceRulesEngine规则引擎示例(1) 定义触发条件(2) 定义规则触发后的执行行为(3) 测试用例 一、…...

Linux 上安装部署Nacos

标题:在Linux上安装和部署Nacos Nacos是一个开源的分布式服务发现和配置管理平台,它可以帮助开发人员实现微服务架构中的服务注册、发现和动态配置管理。 步骤1:准备工作 在开始安装Nacos之前,确保您已经具备以下条件&#xff1…...

电动机的启动

1电动机启动分类 电动机启动方式包括:全压直接启动、自耦减压启动、Y-Δ 启动、软启动器、变频器。其中软启动器和变频器启动为潮流。当然也不是一定要使用软启动器和变频器启动,在运用的时候根据实际情况,从经济和适用性自行考虑选择。 2电…...

python性能分析,logging性能,print性能,文件写入性能对比

先说结论,没想到的是print性能比logging性能好,输出到控制台会极大降低程序性能,以下是我的性能对比结果: 运行情况是python后台运行并输出到日志,命令是 python3 test.py > /opt/testtime.log 2>&1 &...

[GIN-debug] [ERROR] listen tcp: address 8080: missing port in address

学习Golang_gin框架的第一天 遇到一下报错 : [GIN-debug] [ERROR] listen tcp: address 8080: missing port in address 错误代码 : package mainimport "github.com/gin-gonic/gin"func main() {router : gin.Default()router.GET("/index", func…...

PHP codeigniter4 搭配Nginx

> 主要是为了用Nginx运行PHP环境 1. Nginx 官方文档的配置 default.conf This configuration enables URLs without “index.php” in them and using CodeIgniter’s “404 - File Not Found” for URLs ending with “.php”. server {listen 80;listen [::]:80;se…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...

XML Group端口详解

在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)

本文把滑坡位移序列拆开、筛优质因子&#xff0c;再用 CNN-BiLSTM-Attention 来动态预测每个子序列&#xff0c;最后重构出总位移&#xff0c;预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵&#xff08;S…...

浅谈不同二分算法的查找情况

二分算法原理比较简单&#xff0c;但是实际的算法模板却有很多&#xff0c;这一切都源于二分查找问题中的复杂情况和二分算法的边界处理&#xff0c;以下是博主对一些二分算法查找的情况分析。 需要说明的是&#xff0c;以下二分算法都是基于有序序列为升序有序的情况&#xf…...

Go 语言并发编程基础:无缓冲与有缓冲通道

在上一章节中&#xff0c;我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道&#xff0c;它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好&#xff0…...