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”,开源社区的成员可以对请求进行审查和讨论。
主要操作:
-
创建仓库:“New Repository”->“Create Repository”;
-
克隆仓库:直接点击“download ZIP”(下载的只是整个项目文件);或者用git命令"
git clone https://github.com/*************.git
"(下载的不仅是整个项目文件,还有仓库属性)
-
上传文件:点击addfile即可或者采用git命令(详情见文章后面)
-
提交更改(pull request)看到别人仓库的东西,想提出修改意见,可点击“pull request”,上传自己修改过的代码和描述。
-
提交疑问(Issues):基于查看过代码仓库的前提提交问题和提交说明,仓库创建者有权利关闭问题并和网友评论问题以及添加标签。
-
README.md文件:这个项目的整体介绍和使用的方法。
-
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联合使用方法
- git 和VScode安装完成后,在vscode中安装插件“Gitlens”
- 用vscode打开项目文件夹。 在vscode终端中添加一个git bash终端,用于输入git命令建立和管理仓库
- 依次进行如下操作:
git init //初始化git add . //将当前目录下修改的所有代码从工作区添加到暂存区git commit -m “注释” //将缓存区内容添加到本地仓库git remote add origin 远程仓库地址 //将本地仓库与远程仓库连接起来git push origin master //将项目推送到远程仓库的master分支上
在推送过程中可能会让你登录Github账号,授予推送权限。有一种用SSH密钥的方法,可以避免每次需要进行GitHub登录验证,如下。
4. Git配置Github远程仓库SSH密钥
- 设置本地git账户邮箱和用户名:
git config --global user.name "your username"
git config --global user.email "your email"
- 生成新的SSH密钥:
ssh-keygen -t rsa -C "your email" //第一次配置连续敲回车即可,如果重新配置 选y再回车即可
- 查看生成的密钥:
cat ~/.ssh/id_rsa.pub
- 将密钥复制到Github账户的SSH key中,点击add ssh key:
成功状态如下:
- 之后再用git remote add origin 远程仓库地址 ,将本地仓库与远程仓库连接,就可以直接git push或pull。
5 常见问题
- 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
- 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语言实现扫雷是对基础代码能力的考察。通过本篇文章你将学会如何制作出扫雷ÿ…...
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之前,确保您已经具备以下条件࿱…...
电动机的启动
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…...

大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...

ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)
前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 …...

【JVM】Java虚拟机(二)——垃圾回收
目录 一、如何判断对象可以回收 (一)引用计数法 (二)可达性分析算法 二、垃圾回收算法 (一)标记清除 (二)标记整理 (三)复制 (四ÿ…...
MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用
文章目录 一、背景知识:什么是 B-Tree 和 BTree? B-Tree(平衡多路查找树) BTree(B-Tree 的变种) 二、结构对比:一张图看懂 三、为什么 MySQL InnoDB 选择 BTree? 1. 范围查询更快 2…...
uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)
UniApp 集成腾讯云 IM 富媒体消息全攻略(地理位置/文件) 一、功能实现原理 腾讯云 IM 通过 消息扩展机制 支持富媒体类型,核心实现方式: 标准消息类型:直接使用 SDK 内置类型(文件、图片等)自…...