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…...

使用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(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...