JS高级:Git

news2024/11/16 5:42:38

目录

集中式版本控制  ​编辑

 分布式版本控制

 Git

安装

bash-cmd-gui

 基本使用

文件状态

 git忽略文件

 版本回退

远程仓库

 gitee

凭证

SSH秘钥

管理远程仓库

 开源协议

github

git标签

git 分支

master 分支

分支操作


集中式版本控制  

 分布式版本控制

 Git

安装

Git

其实Git就是一个版本管理工具,能保存开发过程中的各种版本,其采用分布式版本控制,将版本上传至远程服务器的同时,还会建立一个本地服务器放置镜像

bash-cmd-gui

 基本使用

在VS code中打开git mash

初始化git仓库,创建一个本地的仓库

git init

将当前文件下所有文件加入git

git add .

提交

git commit -m "名字"

查看提交信息

git log

 

文件状态

git add .可以使得所有文件都进入暂缓staged状态

git commit -m "name" 可以使得所有文件都处于已跟踪状态 unmodified

未跟踪状态untracked。比如说新建了一个文件

 这个时候可以通过  git add .  使其变成暂缓staged状态

如果改变了某个文件,会变成modified状态

可以通过 git status来查看文件状态

git status

当我新添加了一个文件

 这是untracked状态

当我执行 git add .

 即文件处于暂缓区   staged

 git忽略文件

在git上传时,有一些文件是不希望上传的,就可以通过 .gitignore 文件设置哪些文件被忽略

 版本回退

可以退回到之前的某个版本

HEAD指向的是最后一次版本

使用git reset --hard XXXX 实现版本回退 

远程仓库

 

 gitee

登录 - Gitee.com

如果要从远程仓库下载到本地,需要通过

git clone xxxx

这里xxx是指仓库的地址

xxx可以是https  ssh  svn,这些在远程仓库里面都提供了

 但是如果是私人仓库,那只拿到这些是不够的,还会需要凭证

凭证

 也就是说,选项5的这个插件可以存储用户名和密码并自动使用,只需要手动输入一次

这个插件在安装git的时候就已经下载了,所以无须下载

可以通过

git config credential.helper

查看该插件的状态,如果结果是manager-core,则是启动了这个插件

输入用户名和密码后会自动下载

在改变下载的代码后,在通过git add . 和git commit -m "name"之后,使用

git push

将改变后的项目上传到远程仓库

SSH秘钥

 也就是在本地生成一对ssh秘钥,分为公钥和私钥

生成方式是

ssh-keygen -t ed25519 -C"email"

其会生成一个秘钥文件,一般是放在c盘的user文件夹下的.ssh文件夹下,找到这个文件 

然后打开.pub文件,拿到里面的内容,复制 

 然后将公钥配置到远程服务器,这里直接进gitee的设置里面设置,即粘贴进这个地方

配置成功

管理远程仓库

 给本地仓库与远程仓库建立连接,生成的远程仓库名字默认为 origin

git remote add origin https://gitee.com/XXXX/gitdemo.git

 但是建立连接是不够的,因为仓库里是有很多分支的,在不指定分支的情况下,在执行git pull或者git push时就不知道要从那个分支获取

所有要设置其上游分支

 git branch --set-upstream-to=origin/master

git pull的作用是将远程仓库的内容下载到本地,并且和本地的仓库合并,其实是执行了git fetchgit merge两个操作

但是设置完上游分支之后,我们运行git pull 还是会报错,这里很显然是git merge报错

 其实就是远程分支本地分支是没有共同的祖先的(也就是说这两个分支在提交的历史上没有交点),所有在合并时会不被允许

可以使用

git merge --allow-unrelated-histories

允许不相关的分支进行合并

那么就可以正常使用git pullgit push

上述问题都是在使用git init创建本地仓库,然后与远程仓库进行连接时产生的问题,如果是直接采用git clone得到的本地仓库,那直接使用git pullgit push没有任何问题,因为使用git clone时已经建立了连接

 

 开源协议

一般都是采用MIT许可证

github

一般操作和gitee一样,这里有一个区别是github创建的远程仓库的默认分支是main

那么在设置上游分支时,应该

 git branch --set-upstream-to=origin/main

这个地方我们本地的分支叫master,而远程的分支叫main,当我直接push或者pull时,远程会找跟自己名字一样的本地分支,也就是main,而不能找到master

方法1、把我们本地的分支名也改为main

 git branch -m master main

方法2、 给push和pull操作设置config 

git config push.default upstream

方法3、创建新的分支main

git checkout --track origin/main

git标签

git 分支

master 分支

其实master分支就是自动创建时的默认分支名字,本质上是一个指针,指向最后提交的内容

每次提交,这个分支就会往后移

分支操作

可以采用

git branch xxxx

创建一个xxxx分支,然后使用

git checkout xxxx

转换到这个分支处,本质上是将HEAD指针指向了这个xxxx指针

也就是说,HEAD指向谁,现在就处于哪个分支

假设我分别输入

git branch test
git checkout test
git add .
git commit -m "xxx"

即我创建了一个test分支,并提交了xxx,则此时的指针指向应该是:

 111指的是之前提交的内容

如果再输入

git checkout master
git add .
git commit -m "new"

 

查看和删除分支

 在本地创建新的分支后可以直接推到远程,让远程也创造这个分支

git push origin xxxxxx

xxxx就是新的分支,但是在之后使用push还是得设置上游分支

 git branch --set-upstream-to=origin/xxxxx

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

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

相关文章

景联文科技:一文读懂火爆全网的AIGC和背后的数据标注技术!

“在过去的几个月中,AIGC发展速度惊人,DALL-E、Midjourney和Stable Diffusion等技术的快速发展,创作出了许多由AI生成的艺术品。本文中,我们将为您阐述AIGC技术和背后所涉及的数据标注技术。" 今年八月,美国的一位…

计算机网络学习笔记(I)——概述

文章目录第一章—概述1.1、什么是Internet?从具体构成角度:什么是协议?从服务角度:1.2、网络边缘网络结构:网络边缘:网络边缘:采用网络设施的面向连接服务网络边缘:采用基础设施的无…

GIS工具maptalks开发手册(四)01——渲染地图信息框之添加绘制工具、获取点的坐标数据信息框进行展示

GIS工具maptalks开发手册(四)01——渲染地图信息框之添加绘制工具、获取点的坐标数据信息框进行展示 1、官网示例 官网示例-地图信息框——https://maptalks.org/examples/cn/ui-control/ui-map-infownd/#ui-control_ui-map-infownd 效果 代码 index.html <!DOCTYPE ht…

Vue 官方文档2.x教程学习笔记 1 基础 1.3 Vue 实例 1.3.1 创建一个Vue 实例 1.3.2 数据与方法

Vue 官方文档2.x教程学习笔记 文章目录Vue 官方文档2.x教程学习笔记1 基础1.3 Vue 实例1.3.1 创建一个Vue 实例1.3.2 数据与方法1 基础 1.3 Vue 实例 1.3.1 创建一个Vue 实例 每个 Vue 应用都是通过用 Vue 函数创建一个新的 Vue 实例开始的&#xff1a; var vm new Vue({/…

阿里云ACP云计算的实验考的是什么?

目前阿里云ACP云计算实验共计四个 1 使用负载均衡实现https与http的混合访问 本实验使用负载均衡配置监听&#xff0c;利用Nginx实现HTTP请求向HTTPS请求的转化&#xff0c;从而完成HTTP和HTTPS的混合访问。 实验概述 互联网巨头雅虎官方对外发布消息&#xff0c;承认在201…

Yolo算法检测之NMS(非极大值抑制)原理详解

刚开始学习算法的时候&#xff0c;nms非极大值一直学不明白&#xff0c;今天终于搞明白了&#xff0c;大致总结一下。 首先我们简单看一下NMS使用的这个背景 按照yolo目标检测算法的初步思想来说&#xff0c;把图片分成19*19网格之后&#xff0c;理论上这个19*19个网格里面包含…

JavaWeb(二)

下面的知识主要就是Servlet&#xff0c;JSP&#xff0c;EL这个顺序去总结&#xff0c;把基础打扎实 Servlet 首先咱们肯定一直听说Servlet&#xff0c;经常说servlet容器&#xff0c;但是具体Servlet是个啥呢。咱们今天就去深入探讨一下。 咱们看一下菜鸟权威教程的解释 Java…

高通平台稳定性分析-CFI failure

一、查看 dmesg_TZ.txt中的错误: Kernel panic - not syncing: CFI failure (target: 0xffffff804323a848) Call trace: dump_backtrace.cfi_jt+0x0/0x8 dump_stack_lvl+0x94/0xe0 panic+0x1a0/0x468 cfi_module_add+0x0/0x24 find_check_fn+0x0/0x258 cam_subdev_ioct…

Kanzi:项目实例:智能灯光SmartControl界面设计

概述&#xff1a; 智能灯光是指&#xff1a;在满足一定条件下&#xff0c;自动显示一些 智能开关&#xff08;如&#xff1a;自动远光灯开关&#xff0c;延时下电开关&#xff0c;智能熄火开关&#xff0c;智能顶灯开关&#xff09;。 他们点亮的共同点是 1&#xff1a;标定…

[附源码]JAVA毕业设计红河旅游信息服务系统(系统+LW)

[附源码]JAVA毕业设计红河旅游信息服务系统&#xff08;系统LW&#xff09; 目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目…

[附源码]计算机毕业设计springboot项目管理系统的专家评审模块

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

【MySQL Router】使用 systemd 管理 MySQL Router

使用 systemd 管理 MySQL Router 文章目录使用 systemd 管理 MySQL Router排错过程升级操作系统内核未修改相关文件的属主&#xff0c;直接用 mysqlrouter 重新引导配置操作系统 limit 相关参数用户及其权限问题结语在之前的文章 【 InnoDB Cluster 】安装部署 MySQL Router 中…

Elasticsearch_第2章_ elasticsearch_进阶

Elasticsearch_第2章_ elasticsearch_进阶 文章目录Elasticsearch_第2章_ elasticsearch_进阶0.学习目标1.数据聚合1.1.聚合的种类1.2.DSL实现聚合1.2.1.Bucket聚合语法1.2.2.聚合结果排序1.2.3.限定聚合范围1.2.4.Metric聚合语法1.2.5.小结1.3.RestAPI实现聚合1.3.1.API语法1.…

Conv2Former

又发现了一个说比Transformer好的,通过充分利用卷积探索一种更高效的编码空域特征的方式&#xff1a;通过组合ConvNet与ViT的设计理念&#xff0c;本文利用卷积调制操作对自注意力进行了简化&#xff0c;进而构建了一种新的ConvNet架构Conv2Former超简Transformer风格ConvNet&a…

Python基础之MySql数据库交互

Python基础之MySql数据库交互一、使用MySql进行持久化存储二、安装MySql数据库和Python库PyMySQL三、使用pymysql链接mysql数据库四、创建表五、插入数据六、后记一、使用MySql进行持久化存储 在任何应用中&#xff0c;都需要持久化存储。一般有 3 种基础的存储机制&#xff1…

oepncv c++ 连通组件扫描

1、概念 连通组件指在图像上通过四邻域或八邻域法&#xff0c;连接起来的像素值大于某一阈值的区域&#xff08;这些像素点被称为前景像素&#xff09;&#xff0c;而小于阈值的区域被称为背景。如下图的4个连通组件。 四邻域、八邻域&#xff1a; 2、常用算法 a&#xff09;基…

35岁程序员,都到哪儿去了?

在很多人眼里&#xff0c;程序员的薪资就是普通人的天花板。关于程序员35岁被优化这个亘古不变的话题&#xff0c;也有不少人冷嘲热讽&#xff1a;你花10年的时间赚到了我30年、40年都赚不到的钱&#xff0c;有什么好焦虑不满呢&#xff1f;钱还不够用吗&#xff1f; 而那些年纪…

榛子云短信验证平台与springboot集成的短信验证

登录 - 榛子云短信用户系统 (zhenzikj.com) 上面是登录榛子云短信验证平台的入口&#xff0c;此平台的短信大概为3.1分一条短信。 如何与spring boot进行集成呢&#xff0c;我以注册为例来慢慢讲解 1.注册号榛子云账号并充值可发送短信 2.在项目pom.xml导入jar包 <!-- 榛…

HTML+CSS+JS我的班级网页设计期末课程大作业 web前端开发技术 web课程设计 网页规划与设计

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

位运算介绍、图解位运算相关题目【一个数字出现了K次,其他数字出现了M次,M > 1 K < M 找到出现了K次的数】【找到出现奇数次的数】等题目

位运算 常见的位运算 >>、>>>、<<、|、&、^、||、&&、~等 原码、反码、补码 原码 将一个整数转换成二进制形式&#xff0c;就是其原码。例如 6 原码就是……0000 0000 0000 0110 反码 对于正数&#xff0c;它的反码就是其原码&#xff08;…