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推送。
    在这里插入图片描述

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

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

相关文章

万应低代码受邀参加上海电信“大干一场 科创沙龙”活动

7月28日,由上海市宝山区大场镇政府指导、中国电信上海北区局主办的“大干一场 科创沙龙”系列第九期沙龙活动顺利举办。大场镇“数字化转型”领导小组办公室(以下简称“数字办”)邀请了来自镇域内外的数十家科创服务企业。万应低代码作为天翼…

flask-----蓝图

1.引入蓝图 flask都写在一个文件中,项目这样肯定不行,会导致循环导入的问题,分目录,分包,使用蓝图划分目录。 2.使用蓝图 步骤如下: -1 实例化得到一个蓝图对象-order_blueBlueprint(order,__name__,tem…

医疗行业如何防范弱口令攻击?这份弱口令治理方案请收好

随着5G、云计算、物联网等新兴技术与传统医疗系统的不断深化融合,我国医疗信息化程度越来越高,逐步向数字化、智慧化医疗演进,蓬勃发展的信息化也使医疗行业面临的安全风险逐渐增多。数据泄露、勒索病毒等问题频发,加之《等保》、…

JavaScript |(四)正则表达式 | 尚硅谷JavaScript基础实战

学习来源:尚硅谷JavaScript基础&实战丨JS入门到精通全套完整版 系列笔记: JavaScript |(一)JavaScript简介及基本语法JavaScript |(二)JavaScript自定义对象及函数JavaScript |(三&#xff…

hcip——期中小试

要求: 1、该拓扑为公司网络,其中包括公司总部、公司分部以及公司骨干网,不包含运营商公网部分。 2 、设备名称均使用拓扑上名称改名,并且区分大小写。 3 、整张拓扑均使用私网地址进行配置。 4 、整张网络中,运行 O…

21、springboot的宽松绑定及属性处理类的构造注入

springboot的宽松绑定及属性处理类的构造注入 ★ 如何使用属性处理类所读取的属性 属性处理类最终变成了Spring容器中的一个Bean组件,因此接下来Spring即可将该Bean组件注入任意其他组件。 这种做法的好处是:可以将大量的配置信息封装一个对象——所以…

Spring boot 集成 Skywalking 配置 || Skywalking 打不开【已解决】

一、Skywalking官网 Apache SkyWalking 1.下载Skywalking APM (如果下载最新的,双击打开闪退,选老点的版本) 2. 下载 Skywalking Agents 如果下载太慢,建议复制下载链接,然后用下载器下载,比…

时间复杂度空间复杂度相关练习题

1.消失的数字 【题目】:题目链接 思路1:排序——》qsort快排——》时间复杂度O(n*log2n) 不符合要求 思路2:(0123...n)-(a[0]a[1][2]...a[n-2]) ——》 时间复杂度O(N)空间复杂度…

软件验收测试包括几种类型?验收测试报告有什么好处?

在软件开发中,验收测试是软件项目在开发完成后进行的最后一项测试工作。它是确认软件是否满足预期要求,并准备将软件交付用户的核心环节,它可以确保软件的质量和功能符合用户的需求和期望。 一、软件验收测试的类型 软件验收测试可以分为多…

Java版企业电子招标采购系统源码Spring Cloud + Spring Boot +二次开发+ MybatisPlus + Redis tbms

​ 功能描述 1、门户管理:所有用户可在门户页面查看所有的公告信息及相关的通知信息。主要板块包含:招标公告、非招标公告、系统通知、政策法规。 2、立项管理:企业用户可对需要采购的项目进行立项申请,并提交审批,查…

20230809在WIN10下使用python3批量将TXT文件转换为SRT文件

20230809在WIN10下使用python3批量将TXT文件转换为SRT文件 2023/8/9 17:30 由于喜欢看纪录片等外文视频,通过剪映/PR2023/AUTOSUB识别字幕之后,可以通过google翻译识别为简体中文的DOCX文档。 DOCX文档转换为TXT文档之后,还需要转换为SRT文档…

​三江学院图书馆藏八一新书《乡村振兴战略下传统村落文化旅游设计》

​三江学院图书馆藏八一新书《乡村振兴战略下传统村落文化旅游设计》

实战:Prometheus+Grafana监控Linux服务器及Springboot项目

文章目录 前言知识积累什么是Prometheus什么是Grafana怎样完成数据采集和监控 环境搭建docker与docker-compose安装docker-compose编写 监控配置grafana配置prometheus数据源grafana配置dashboardLinux Host Metrics监控Spring Boot 监控 写在最后 前言 相信大家都知道一个项目…

Visual Studio在Debug模式下,MFC工程中包含Eigen库时的定义冲突的问题

Visual Studio在Debug模式下,MFC工程中包含Eigen库时的定义冲突的问题 报错信息 Eigen\src\Core\PlainObjectBase.h(143,5): error C2061: 语法错误: 标识符“THIS_FILE” Eigen\src\Core\PlainObjectBase.h(143,1): error C2333: “Eigen::PlainObjectBase::opera…

全网最牛,接口自动化测试实现详细总结,23年测试进阶之路...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 为什么要做接口自…

SpringBoot 依赖管理

Spring Boot 依赖管理 1. 父项目做依赖管理 无需关注版本号&#xff0c;自动版本仲裁机制 <!-- 依赖管理 --> <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version&g…

金融科技与现代开源技术结合的进展超前到你无法想象!

想要了解最新的金融科技进展吗&#xff1f; 渴望与其他技术爱好者交流&#xff0c;并扩展您在金融科技行业中的人脉关系吗&#xff1f; 那么请参加我们即将举行的 Meetup&#xff0c;本次活动由 Apache DolphinScheduler 社区和 OceanBase 技术社区共同举办&#xff0c;聚焦金…

智慧城市美术效果Unity实现笔记流程

智慧城市美术效果Unity实现笔记流程&#xff1a; 参考 对标 效果图&#xff1a; 写实类-参考图&#xff1a; (以上均为网络搜索效果,有落叶大师&#xff0c;以及其他优秀开发者效果图参考) 未来类-参考图&#xff1a; 如上图所示,智慧城市基本分为 这两个大类&#xff0c;偏写…

安卓:MMKV——键值存储库

目录 一、MMKV介绍 1.特点和优势&#xff1a; 2.使用指南&#xff1a; 3.依赖包&#xff1a; 二、MMKV的常用方法 1、初始化和获取实例&#xff1a; 2、存储数据&#xff1a; 3、读取数据 4、删除数据 5、其他操作&#xff1a; 三、MMKV的使用例子 MainActivity&#xff…

自然语言处理学习笔记(六)————字典树

目录 1.字典树 &#xff08;1&#xff09;为什么引入字典树 &#xff08;2&#xff09;字典树定义 &#xff08;3&#xff09;字典树的节点实现 &#xff08;4&#xff09;字典树的增删改查 DFA&#xff08;确定有穷自动机&#xff09; &#xff08;5&#xff09;优化 1.…