【维生素C语言】附录:Github 使用教学

news2024/11/24 0:34:51

 

👑 全新Python高级软件实践专栏: 一起玩蛇啊 👉 《一起玩蛇》🐍

💭 写在前面:本章我们将介绍 Git 的基本使用方法,包括注册 GitHub 账号、设置 Git、创建本地存储库、复制本地存储库、导入远程存储库、追加、提交、合并等常用操作。我们还会教你如何在 GitHub 上创建项目,使用 git clone 命令克隆远程存储库,以及三板斧之 git add、git commit 和 git push 的使用方法。

💭 本章目录:

0x00 引入:git 是什么?

0x01 使用 git 的理由

0x02 注册 Github

0x03 设置 Git

0x04 储存库

0x05 创建本地存储

0x06 复制本地存储

0x07 导入远程存储库

0x08 追加(add)

0x08 commit

0x09 合并(merge)

0x0A 在 Github 创建项目

0x0B  git clone 克隆

0x0C 三板斧之第一板斧 —— git add 添加

0x0D 三板斧之第二板斧 —— git commit -m

0x0E  三板斧之第三板斧 —— git push 推入


0x00 引入:git 是什么?

Git 是一个分布式版本控制系统,它允许多个人在同一个项目中进行协作。

它允许用户在开发过程中跟踪文件的更改,并在需要时回滚到之前的版本。

这样可以在团队协作开发时避免冲突,并保证项目的完整性。

0x01 使用 git 的理由

如果不使用 Git 等代码管理程序,版本管理的情况很多,如下所示:

如果像上面这样做,稍过一段时间就很难知道到底哪个文件是最终版本。

0x02 注册 Github

🔗 链接:GitHub: Let’s build from here · GitHub,点击 Sign Up 注册会员!

0x03 设置 Git

🔗 Git: Git - Downloads,下载并安装适合自己电脑的版本。

选择你希望的编辑器:

 

 

 

 

 

 

 

 

安装完毕后,鼠标右键即可启动 Git Bash: 

输入 git --version 可查看当前 git 版本:

打开想要使用 git 的文件夹,右键单击,能看到 Git Bash Here:

 

0x04 储存库

Git 的存储库存储文件并按版本进行管理。

存储有两种:本地存储和远程存储。

  • 本地存储:在我的PC上存储文件的个人存储库。
  • 远程存储:文件由远程存储服务器(github等)管理,多人共享的存储库。

0x05 创建本地存储

在要创建本地存储库的文件夹中运行 git bash

输入 git init 进行初始化:

0x06 复制本地存储

在需要复制存储库的位置运行 git bash:

然后输入 git clone <路径>

0x07 导入远程存储库

git clone <远程存储地址>

比如:git clone "https://github.com/foxny/HelloGitHub.git"

在这之前,我们先生成远程存储库。

在 Github repository 中选择 New:

 

然后点击

设置 repository 名称后创建:

然后,连接存储库,连接本地存储和远程存储。
git remote add origin <远程存储地址>

比如 git remote add origin "https://github.com/csdn/HelloGitHub.git"

然后输入:git remote --v 确认

0x08 追加(add)

在本地存储创建的地方生成文件,可以是源代码(c, h等)、资源(txt, png等)等所有类型的文件。

确认尚未反映为 Git status 的文件(红字)。 

git add<文件名>

如果同时添加多个文件(全部),则git add *,使用 git status 确认全部反映。

0x08 commit

将更改内容确定为存储库中的“新版本”。

根据 Commit 管理版本。可以回到过去 commit 的时间点。

git commit–m “commit内容说明”

比如   git commit –m “initial commit”

反映到远程存储库(push)

将提交的内容上传到远程存储库(github)。

git push origin ‘branch’

Ex) git push origin master. 关于Branch,稍后进行说明,首次使用时会出现登录窗口。

登录完成后,push将与日志一起完成:

Branch 之间的转换是 git checkout <branchname>
Ex) git checkout testbranch
git checkout – 通过b<branchname>  创建+可切换

 如果不再使用或不需要 branch,可以删除。git branch –d <branchname>

 Ex) git branch -d testbranch

可以用新生成的branch名称push。   Ex) git push origin testbranch

0x09 合并(merge)

可以将其他分支的更改合并到当前分支中。

git merge <branchname>

但此时发生无法同时适用的变更时,

可能会发生冲突(conflict)。 

冲突(conflict):

Master branch将第5行修改为master。

Testbranch也修改了5号行。

发生冲突时显示如下。要打开发生冲突的文件,修改以避免冲突

 

 发生冲突的文件显示如下冲突内容

 留下想要的内容,整理文件

添加并提交修改后的文件即可完成合并。
确认Branch 的名字。

 

0x0A 在 Github 创建项目

 点击 Repositories 进入如下页面,然后点击 New:

创建 repository:

在创建好的项目页面中复制项目的链接,以备接下来进行下载:

 创建好仓库后,如果我想把代码提交到 git,我们可以把 HTTPS 的内容复制下来。

0x0B  git clone 克隆

复制好 url 后,如果想把远端的仓库克隆到本地,我们可以用 git clone 指令。

 创建一个放置代码的目录:

git clone [url]        # 此处的 url 是刚刚建立好的项目的链接

第一次的时候会让你输入账号和密码:

此时我们就能看到仓库的名字,赫然纸上:

这,就是我们从远端拉去下来的我们所建立的项目。

你可以进 .git 仓库里看看,看看就行,不要对里面的东西做任何的修改!

如果我们想把我们的代码提交上去,比如我们创建一个 test.c 文件:

如果你想在提交之前看看 本地仓库 远端仓库 之间的关系,你可以输入 git status 查验:

git status

 

0x0C 三板斧之第一板斧 —— git add 添加

 如果想上传到远端,我们就要使用 git add 指令来操作了。

git add [file name]

我们试着把刚才创建的 test.c 文件添加到我们本地的仓库:

(第一次使用 git 的时候,可能会让你配置一下你的用户名和邮箱)

添加到本地仓库之后,我们再介绍一个 git commit 指令,提交日志。

0x0D 三板斧之第二板斧 —— git commit -m

git commit -m     # -m选项代表的是本次的提交日志
# 提交时应该表明提交日志、描述改动的详细内容,务必培养这个好习惯。

提交日志要好好写,不要瞎写,因为这是要给人看的,你写的一切殊不知……

 日志存在的目的是为了给人看的,也是给自己看的。

写些什么呢?写一写你做了什么东西,比如:

0x0E  三板斧之第三板斧 —— git push 推入

刚才已经将 test.c 存入本地仓库了,现在我们想要把它传送到远端仓库,即远端服务器上:

git push

需要填入用户名与密码,同步成功后刷新 Github 页面就能看到代码改动啦。

🔺 总结: 建立仓库 → git clone → git add → git commit -m "日志内容" → git push

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

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

相关文章

electron24整合vite4+vue3创建跨端桌面程序

基于Electron集成Vite4.x构建桌面端exe应用 electron24-vite4-vue3 运用最新版本electron结合vite4.x创建vue3桌面端应用程序。 // 版本信息 vite: ^4.3.2 vue: ^3.2.47 electron: ^24.4.0 electron-builder: ^23.6.0创建vitevue3项目 // 初始化项目 npm create vitelatest el…

Echarts绘制K线图,文末源码地址!

文章目录 K线图Apache Echarts绘制K线图完整源码地址 本文中仅展示部分关键代码&#xff0c;文末有完整源码地址&#xff0c;欢迎下载&#xff01; K线图 K线图是一种常见的股票价格走势图表&#xff0c;它是用于显示股票价格变化的一种图表形式。K线图以日、周、月等周期为单…

聊聊分布式解决方案Saga模式

Saga模式 Saga模式使用一系列本地事务来提供事务管理&#xff0c;而一个本地事务对应一个Saga参与者&#xff0c;在Saga流程里面每一个本地事务只操作本地数据库&#xff0c;然后通过消息或事件来触发下一个本地事务&#xff0c;如果其中一个本地事务失败了&#xff0c;Saga就…

一文搞懂激活函数(Sigmoid/ReLU/LeakyReLU/PReLU/ELU)

深度学习算法之前的机器学习算法&#xff0c;并不需要对训练数据作概率统计上的假设&#xff1b;但为了让深度学习算法有更好的性能&#xff0c;需要满足的关键要素之一&#xff0c;就是&#xff1a;网络的输入数据服从特定的分布&#xff1a; 数据分布应该是零均值化的&#…

内核调试环境搭建

内核调试环境搭建 目录 经过测试好用的内核调试环境搭建过程ubuntu和linux版本 查看commit所属的内核版本查看Ubuntu版本号等信息 下载与安装内核 下载内核ubuntu更换内核手动下载并切换到指定源码用apt下载源码使用git下载对应版本 编译并安装linux内核&#xff08;使用linu…

Redis自学之路—分布式锁(四)

目录 分布式锁定义 靠谱的分布式锁具备的特征 【互斥性】 【锁超时释放】 【可重入性】 【高性能和高可用】 【安全性】 Redis分布式锁方案 一、SETNX EXPIRE 二、SETNX value值是&#xff08;系统时间过期时间&#xff09; 三、使用Lua脚本&#xff08;包含SETNXE…

【Web服务器集群】Apache网页优化

文章目录 一、Apache网页优化概述1.优化内容2.网页压缩2.1gzip概述2.2作用2.3Apache的压缩模块概述mod_gzip模块与mod_deflate模块 3.配置网页压缩功能3.1启用网页压缩功能步骤3.2具体操作步骤 4.配置网页缓存功能4.1启用网页压缩功能步骤4.2具体操作步骤 二、Apache安全优化1.…

Unity嵌入AndroidStudio(二) IL2CPP打包

首先建立Unity工程&#xff0c;话不多说直接上图&#xff1a; 导出Android工程&#xff1a; 得到如下文件&#xff0c;备用&#xff1a; 接下来创建安卓项目&#xff1a; 注意包名要和unity里面的一致&#xff0c;sdk版本也要一致 等待编译完成&#xff1a; 打开setting.grade…

2-网络初识——IP地址和端口号

目录 1.IP地址&#xff08;分为IPV4&#xff08;默认情况下&#xff09;和IPV6&#xff09; 1.1.概念 1.2.格式 1.3.特殊IP 2.端口号 2.1.概念 2.2.格式 2.3.注意事项 网络互连的目的是进行网络通信&#xff0c;也即是网络数据传输&#xff0c;更具体一点&#xff0c;是…

SpringMVC源码分析:SpringMVC初始化(一)

一、概述 SpringMVC的初始化大概分为Spring的初始化和SpringMVC的初始化两个部分&#xff0c;他们之间的关系如下图。下面我将按照这个顺序进行详细介绍。 二、Spring初始化 ContextLoaderListener.contextInitialized进行容器的初始化。 继续点进去ContextLoader.initWebApp…

Redis五大数据结构的底层实现(未完成)

一)String类型:可以使用object encoding name就可以查看字符串的编码 SDS&#xff0c;flags的值不同&#xff0c;那么len和alloc所表示的值的数据范围也不同&#xff0c;所以flags的只是为了标识SDS头的总大小&#xff1b; alloc和len刚开始进行申请内存空间的时候都是相同的 S…

简谈你对synchronized关键字的使用

&#x1f468;‍&#x1f393;作者&#xff1a;bug菌 ✏️博客&#xff1a;CSDN、掘金、infoQ、51CTO等 &#x1f389;简介&#xff1a;CSDN|阿里云|华为云|51CTO等社区博客专家&#xff0c;历届博客之星Top30&#xff0c;掘金年度人气作者Top40&#xff0c;51CTO年度博主Top12…

Word控件Spire.Doc 【其他】教程(4):在 Word 中插入上标和下标

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下&#xff0c;轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具&#xff0c;专注于创建、编辑、转…

5.2.1 分类的IP地址

5.2.1 分类的IP地址 通过前面的学习我们知道IPv4协议中包含的内容非常的多&#xff0c;我们学习IPv4又分为几个方面 介绍分类的IP地址IP地址的分配与使用IP分组的格式因特网地址到物理地址的映射&#xff08;ARP协议&#xff09;&#xff0c;用以动态完成IP地址到物理地址映射…

时间序列预测 | Matlab基于灰狼算法优化支持向量机(GWO-SVM)的时间序列预测

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 时间序列预测 | Matlab基于灰狼算法优化支持向量机(GWO-SVM)的时间序列预测 评价指标包括:MAPE、MAE、RMSE和R2等,代码质量极高,方便学习和替换数据。要求2018版本及以上。 部分源码 %----------------

别再纠结页面设计!挑选小程序页面设计模板就对了

小程序页面设计模板可以是一个非常棒的选择&#xff0c;特别是如果你想要快速创建一个优秀的小程序。 以下是一些关于如何选择小程序页面设计模板的建议&#xff1a; 确定你的需求&#xff1a;在开始挑选小程序页面设计模板之前&#xff0c;你需要明确你的需求。确定你的小程…

下载安装LabVIEW

下载安装LabVIEW 介绍下载安装流程下载安装 后续 介绍 LabVIEW 是 工程 师 用来 开发 自动 化 研究、 验证 和 生产 测试 系统 的 图形 化 编 程 环境。Labview作为图形化编程语言&#xff0c;图形控件拖拽式编程&#xff0c;显得更加直观形象&#xff0c;也很容易上手学习。 …

pytorch 绘制一维热力图

热力图 热力图&#xff08;Heat Map&#xff09;是指用 X 轴 和 Y 轴 表示的两个分类字段确定数值点的位置&#xff0c;通过相应位置的矩形颜色去表现数值的大小&#xff0c;颜色深代表的数值大。 热力图是非常特殊的一种图&#xff0c;可以显示不可点击区域发生的事情。热力…

3.5. 异常处理

在Java中&#xff0c;异常是一种用于表示程序在运行过程中遇到的错误或异常情况的对象。Java提供了一套异常处理机制&#xff0c;可以帮助我们更好地处理运行时可能出现的错误和异常。异常处理的主要概念包括&#xff1a; 异常类&#xff1a;Java中的异常类是继承自Throwable类…

L1频段卫星导航射频前端低噪声放大器芯片 AT2659/AT2659S

AT2659 是一款具有高增益、低噪声系数的低噪声放大器&#xff08;LNA&#xff09;芯片&#xff0c;支持L1频段多模式全球卫星定位&#xff0c;可以应用于GPS、北斗二代、伽利略、Glonass等GNSS导航接收机中。芯片采用先进的SiGe工艺制造&#xff0c;采用1.5 mm X 1 mm 0.78 mm的…