Github学习

1.Git与Github

区别:

Git是一个分布式版本控制系统,简单的说就是一个软件,用于记录一个或若干个文件内容变化,以便将来查阅特点版本修订情况的软件。

Github是一个为用户提高Git服务的网站,简单说就是一个可以放代码的地方。Github除了提供Git的Web界面外,还提供了订阅,关注,讨论组,在线编辑器等丰富的功能。

2.Git安装

官网安装

3.Git的使用

Git本地操作的三个区域:

Git Repository(Git 仓库):最终确定的文件保存到仓库,成为一个新的版本,并且对他人可见

暂存区:暂存已经修改的文件最后统一提交到git仓库中

工作区(Working Directory):添加,编辑,修改文件等动作

本地仓库操作

1.在安装好后首先使用需要进行全局配置

桌面空白处右键,点击 Git Bash Here 打开Git命令行窗口

git config --global user.name "用户名"get config --global user.email "邮箱地址"

设置用户名和邮箱,把参数去掉之后可以查看设置是否成功

2.创建仓库

当我们需要人Git去管理某个新项目或已存在项目的时候,就需要创建仓库了。创建仓库时使用的目录不一定要求是空目录,非空目录也可以,所有目录不能存在中文。

创建文件夹

进入文件夹

Git仓库初始化

git init

执行后会在项目目录下创建 .git的隐藏目录,不能删除,也不能随意修改其中的内容。

3.Git常用指令操作

查看当前状态: git status

添加到缓冲区: git add 文件名

注:git add 指令,可以添加一个文件,也可以同时添加多个文件

        git add 文件名

        git add 文件名1 文件名2 文件名3 ...

        git add .   添加当前目录到缓冲区

提交至版本库: git commit -m "注释内容,提交说明"

4.版本回退

1.查看版本,确定需要回去的时刻点

git log

git log --pretty=oneline     放在一行显示

2.回退

git reset --hard 提交编号(id)

回退之后,要想再回到之前最新的版本时,需要使用指令去查看历史操作,以得到最新的commit id

git reflog

远程仓库

1.线上创建

github点击create repositroy即可

2.基于http协议使用

1.创建一个空目录,名称随便,进入目录

2.使用clone指令克隆线上仓库到本地

git clone 线上仓库地址

3.在仓库上做对应的操作

提交暂存区

提交本地仓库

提交线上仓库

git push

首次往线上仓库提交时候会失败,报错或弹窗,是因为鉴权没过,需要修改 ".git/config"文件内容

添加gitHub的用户名和密码,如果是弹窗,则选择浏览器方式授权即可

拉取线上仓库 

git pull

3.基于ssh协议

相比于https方式,只是影响github对于用户的身份鉴权方式,对于git的具体操作不影响

1.生成客户端公私钥文件(需安装OpenSSH)

ssh-keygen -t rsa -C "邮箱"
# 影响为登录github的邮箱即可

2.将公钥上传到Github 

 把生成的密钥文件打开,将其中的内容复制上传至github

分支管理

1.相关指令

查看分支: git branch

创建分支: git branch 分支名

         git push --set-upstream origin [master]   创建完成之后执行该命令,于远程仓库建立连接,master为自定义分支名称

切换分支: git checkout 分支名

切换并创建分支: git checkout -b 分支名

删除分支: git branch -d 分支名

        删除分支时,要先退出要删除的分支,然后再删除

合并分支: git merge 被合并的分支名

2.冲突的产生与解决

发送冲突时先git pull代码,此时git已经将线上与本地仓库的冲突合并到对应的文件中,需要手动打开对应文件,保留需要的,删除不需要的。最后重新提交。

忽略文件

        提交代码时有些文件长时间不需要提交,可以将该文件设置为忽略文件。忽略文件需要新建一个 .gitignore的文件,该文件用于声明忽略文件或不忽略文件的规则,规则对当前目录及其子目录生效。

        该文件因为没有文件名,没办法直接在windows目录下直接创建,可以通过命令行Git Bash来touch创建。

在.gitignore文件中编写规则,#开头为注释

/文件夹名称/      过滤整个文件夹

*.zip       过滤所有.zip文件

/文件夹名称/文件名    过滤某个具体文件

!index.php     不过滤具体某个文件

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

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

相关文章

C语言 | Leetcode C语言题解之第85题最大矩形

题目&#xff1a; 题解&#xff1a; int maximalRectangle(char** matrix, int matrixSize, int* matrixColSize) {int m matrixSize;if (m 0) {return 0;}int n matrixColSize[0];int left[m][n];memset(left, 0, sizeof(left));for (int i 0; i < m; i) {for (int j …

SeetaFace6人脸活体检测C++代码实现Demo

SeetaFace6包含人脸识别的基本能力&#xff1a;人脸检测、关键点定位、人脸识别&#xff0c;同时增加了活体检测、质量评估、年龄性别估计&#xff0c;并且顺应实际应用需求&#xff0c;开放口罩检测以及口罩佩戴场景下的人脸识别模型。 官网地址&#xff1a;https://github.co…

【补充】图神经网络前传——DeepWalk

论文阅读 论文&#xff1a;https://arxiv.org/pdf/1403.6652 参考&#xff1a;【论文逐句精读】DeepWalk&#xff0c;随机游走实现图向量嵌入&#xff0c;自然语言处理与图的首次融合_随机游走图嵌入-CSDN博客 abstract DeepWalk是干什么的&#xff1a;在一个网络中学习顶点…

【Mac】Ghost Buster Pro(苹果电脑内存清理专家) v3.2.5安装教程

软件介绍 Ghost Buster pro是一款针对Mac系统的电脑清理和优化工具&#xff0c;可以帮助用户清理系统垃圾、修复注册表错误、卸载不需要的软件、管理启动项等&#xff0c;从而提高系统性能和稳定性。 安装教程 1.打开镜像包&#xff0c;拖动「Ghost Buster Pro」到应用程序中…

GIT SSL certificate problem

简单来说&#xff0c;SSL 协议可以为你的 Web 浏览器或其他进程提供一种安全的通道&#xff0c;使服务器和客户端之间的数据传输过程不被第三方窃取或篡改。这非常重要&#xff0c;特别是在处理敏感数据&#xff0c;比如信用卡信息、用户名和密码等情况下。 现在&#xff0c;S…

Flutter 中的 Row 小部件:全面指南

Flutter 中的 Row 小部件&#xff1a;全面指南 在 Flutter 中&#xff0c;Row 是一个水平布局的小部件&#xff0c;用于将子控件沿着水平轴排列。Row 类似于 HTML 中的 div 标签&#xff0c;但仅限于水平布局。它非常适合用来创建行式布局&#xff0c;如表单输入、按钮组、标签…

【linux软件基础知识】完全公平调度

完全公平调度&#xff08;CFS&#xff09; CFS根据每个进程相对于所有可运行线程总权重的权重为每个进程分配一个“时间片”。 CFS 的目标是近似“无限小”的调度持续时间&#xff0c;称为目标延迟。 较小的目标延迟可以提高交互性并接近完美的多任务处理&#xff0c;但其代价…

【Linux网络】Https【下】{CA认证/证书的签发与认证/安全性/总结}

文章目录 1.引入证书【为方案五铺垫】1.1再谈https1.2SSL/TLS1.3CA机构1.4理解数字签名1.4继续铺垫1.5方案五服务端申请证书回顾一二三回顾方案四方案五过程寻找方案五的漏洞客⼾端对证书进⾏认证 2.查看证书2.1查看浏览器的受信任证书发布机构2.2中间⼈有没有可能篡改该证书2.…

差分约束 C++ 算法例题

差分约束 差分约束 是一种特殊的 n 元一次不等式组&#xff0c;m 个约束条件&#xff0c;可以组成形如下的格式&#xff1a; { x 1 − x 1 ′ ≤ y 1 x 2 − x 2 ′ ≤ y 2 ⋯ x m − x m ′ ≤ y m \begin{cases} x_1-x_1^{} \le y_1 \\ x_2-x_2^{} \le y_2 \\ \cdots \\ x_…

数据库的要求

本来我是不准备写数据库的。而且是准备从零开始&#xff0c;学习python&#xff0c;学完语言学&#xff0c;会c和写作技法&#xff0c;再来学习数据库 那样做的复杂度是天量的&#xff0c;按部就班什么的具备&#xff0c;因为你完全不清楚什么时候就有这个基础和条件&#xff0…

【53】Camunda8-Zeebe核心引擎-Partitions分区与Internal processing内部处理

Partitions分区 在Zeebe中,所有数据都是基于分区的。(一个)分区本质上是一个关于流程事件的持久化流。在broker集群中,分区分布在节点之间,因此可以将其视为分片。启动/初始化Zeebe 集群时,用户可以配置所需的分区数。如果使用过Kafka,这部分内容是比较相似的。 每当部…

SpringBoot集成jxls2实现复杂(多表格)excel导出

核心依赖 需求 导出多个表格&#xff0c;包含图片&#xff0c;类似商品标签 1.配置模板 创建一个xlsx的模板文件&#xff0c;配置如下 该模板进行遍历了两次&#xff0c;因为我想要导出的数据分为两列展示&#xff0c;左右布局&#xff0c;一个循环实现不了&#xff0c;所以采…

【ARM64 常见汇编指令学习 20.1 -- ARM 伪指令 .include】

请阅读【嵌入式开发学习必备专栏】 文章目录 ARM 编译指令 .include 使用介绍a.s 文件b.s 文件小结 ARM 编译指令 .include 使用介绍 在UEFI&#xff08;统一可扩展固件接口&#xff09;开发中&#xff0c;通常会用到汇编语言文件&#xff08;.s 或 .S 文件&#xff09;。如果…

百面算法工程师 | 正则优化函数——BN、LN、Dropout

本文给大家带来的百面算法工程师是正则优化函数&#xff0c;文章内总结了常见的提问问题&#xff0c;旨在为广大学子模拟出更贴合实际的面试问答场景。在这篇文章中&#xff0c;我们将总结一些BN、LN、Dropout的相关知识&#xff0c;并提供参考的回答及其理论基础&#xff0c;以…

Linux kbdconfig命令教程:键盘设置与配置(附案例详解和注意事项)

Linux kbdconfig命令介绍 kbdconfig&#xff08;键盘配置&#xff09;是一个用于设置键盘类型的程序&#xff0c;提供图形化的操作界面。kbdconfig实际上是修改/etc/sysconfig/keyboard的键盘配置文件。 Linux kbdconfig命令适用的Linux版本 kbdconfig命令主要在Red Hat Lin…

电商秒杀系统-案例04-redis下的session控制

前言&#xff1a; 在现代的Web应用中&#xff0c;安全和高效的用户身份验证机制是至关重要的。本文将深入探讨基于令牌的用户登录会话机制&#xff0c;特别是在使用Redis进行会话管理的情景。通过这一案例实战&#xff0c;我们将了解令牌如何在用户身份验证过程中发挥核心作用&…

Linux dircolors命令教程:如何设置ls命令的颜色方案(附案例详解和注意事项)

Linux dircolors命令介绍 dircolors命令在Linux中用于设置ls命令显示文件和目录的颜色方案。它可以输出设置LS_COLORS环境变量的命令。 Linux dircolors命令适用的Linux版本 dircolors命令在大多数Linux发行版中都可用&#xff0c;包括Debian、Ubuntu、Alpine、Arch Linux、…

C++ | Leetcode C++题解之第85题最大矩形

题目&#xff1a; 题解&#xff1a; class Solution { public:int maximalRectangle(vector<vector<char>>& matrix) {int m matrix.size();if (m 0) {return 0;}int n matrix[0].size();vector<vector<int>> left(m, vector<int>(n, 0)…

【HCIP学习】BGP对等体组、聚合、路由反射器、联盟、团体属性

一、大规模BGP网络所遇到的问题 BGP对等体众多&#xff0c;配置繁琐&#xff0c;维护管理难度大 BGP路由表庞大&#xff0c;对设备性能提出挑战 IBGP全连接&#xff0c;应用和管理BGP难度增加&#xff0c;邻居数量过多 路由变化频繁&#xff0c;导致路由更新频繁 二、解决大…

使用QT-QSqlQuery::value()遇到的问题

在实现客户端间好友添加功能时&#xff0c;我通过以下函数想实现数据库对好友信息的保存 bool OpeDB::handleAddFriend_repound(const char *pername, const char *name) { // pername 被添加方 name 申请添加方 qDebug() << pername << " " &l…