Git (2)

news2025/2/26 5:39:30

文章目录

  • 1. 删除文件
  • 2. 分支管理
    • 2.1 理解分支
    • 2.2 分支创建 , 分支切换
    • 2.3 分支合并
    • 2.4 删除分支
    • 2.5 合并冲突
    • 2.6 合并模式
    • 2.7 分支策略
    • 2.8 bug 分支
    • 2.9 强制删除分支
  • 3. 远程操作
    • 3.1 创建远程仓库
    • 3.2 克隆远程仓库
    • 3.3 推送
    • 3.4 拉取
    • 3.5 gitignore 文件
    • 3.6 配置别名
  • 4. 标签管理
    • 4.1 理解标签
    • 4.2 标签相关操作
  • 5. 总结

1. 删除文件


删除版本库中的文件 :


图一 :

在这里插入图片描述


图二 :

在这里插入图片描述


图三 :

在这里插入图片描述

2. 分支管理

2.1 理解分支


分支属于 Git 杀手级别的功能 , 下面通过一个小故事简单了解一下啥事分支.


图一 :

在这里插入图片描述


图二 :

在这里插入图片描述


图三 :

在这里插入图片描述

2.2 分支创建 , 分支切换


图一 :

在这里插入图片描述


图二 :

在这里插入图片描述


图三 :

在这里插入图片描述


图四 :

在这里插入图片描述


图五 :

在这里插入图片描述

2.3 分支合并


图一 :

在这里插入图片描述


图二 :

在这里插入图片描述

2.4 删除分支


在这里插入图片描述

2.5 合并冲突


图一 :

在这里插入图片描述


图二 :

在这里插入图片描述


图三 :

在这里插入图片描述


图四 :

在这里插入图片描述


图五 :

在这里插入图片描述


图六 :

在这里插入图片描述


图七 :

在这里插入图片描述

2.6 合并模式


到目前为止,我们已经使用了 两次 merge 操作 , 第一次 使用 git merge 操作 将 dev 分支和 master 分支合并的过程是非常顺利的 , 第二次 merge 操作 出现了 合并冲突, 我们在解决 合并冲突 ,进行了 一次 commit 操作 .

对于这两次 merge 操作就分别对应 Git 提供的两种合并模式.

  1. 普通合并模式 (Fast-forward Merge)
    • 当要合并的分支的提交历史与目标分支的提交历史没有分叉时 , Git 会执行快速向前合并
    • Git 只需要将目标分支指向要合并的分支的最新提交即可,不会创建新的合并提交。


关于 Fast-forward Merge 模式 ,还是通过命令带大家熟悉一遍


在这里插入图片描述

  1. 合并冲突
    • 如果要合并的分支与目标分支同时对同一文件的同一部分进行了修改,Git 将无法自动合并更改,导致合并冲突。
    • 在合并冲突发生后,你需要手动解决冲突,编辑包含冲突的文件,并在文件中选择保留哪些更改以及如何组合它们。
    • 解决冲突后,使用 git add 命令标记文件为已解决,然后使用 git commit 提交合并结果。


图一 :

在这里插入图片描述


图二 :

在这里插入图片描述


图三 :

在这里插入图片描述


图四 :

在这里插入图片描述

2.7 分支策略


在实际开发中 , 我们应该按照几个 基本原则进行分支管理 : 首先 master 分支应该是非常稳定的, 也就是仅用来发布新版本 , 平时不能再上面干活.


在这里插入图片描述


这里关于分支策略先了解到这里,后面 会通过 实践 慢慢带大家理解 ,当前只需要知道 我们可以通过 分支实现多人开发 .

2.8 bug 分支


这里介绍一个 在使用 Git 的时候 遇到的场景 .

在这里插入图片描述


关于 拉去 一个 专门 解决 bug 的分支 ,然后修改 bug ,合并 等操作 ,上面都说过 , 这里就不再演示了 , 如果不会可以再回去看看上面的步骤 , 下面就来看另外一个场景.


图一 :

在这里插入图片描述


图二 :

在这里插入图片描述


图三 :

在这里插入图片描述


图四 :

在这里插入图片描述


图五 :

在这里插入图片描述


图六 :

在这里插入图片描述


图七 :

在这里插入图片描述


图八 :

在这里插入图片描述

2.9 强制删除分支


看完 bug 分支 ,这里再来介绍一个将来再使用 git 中可能遇到的问题.


图一 :

在这里插入图片描述


最后对分支做个小结:

分⽀在实际中有什么⽤呢?假设你准备开发⼀个新功能,但是需要两周才能完成,第⼀周你写了50%的代码,如果⽴刻提交,由于代码还没写完,不完整的代码库

会导致别⼈不能⼲活了。如果等代码全部写完再⼀次提交,⼜存在丢失每天进度的巨⼤⻛险。现在有了分⽀,就不⽤怕了。你创建了⼀个属于你⾃⼰的分⽀,别⼈

看不到,还继续在原来的分⽀上正常⼯作,⽽你在⾃⼰的分⽀上⼲活,想提交就提交,直到开发完毕后,再⼀次性合并到原来的分⽀上,这样,既安全,⼜不影响别⼈⼯作。

并且 Git ⽆论创建、切换和删除分⽀,Git在1秒钟之内就能完成!⽆论你的版本库是1个⽂件还是1万个⽂件。

3. 远程操作


到目前为止我们所学习的操作都是在本地完成的 , 比如 : 工作区 ,暂存区 ,版本库 之间的操作 (git add xxx , git commit -m “xxx” 等命令) .


另外 : 关于我们对 Git 的了解其实只了解了一半 Git , 知道了 Git 是一个 版本控制系统 , 下面来了解另外一半 分布式 , Git 其实是一个分布式版本控制系统.


图一 :

在这里插入图片描述


图二 :

在这里插入图片描述

GitHub: Let’s build from here · GitHub

工作台 - Gitee.com


下面的内容, 会使用 Gitee 来演示 ,GitHub 是一样的 .

3.1 创建远程仓库


图一 :
在这里插入图片描述


图二 :

在这里插入图片描述


图三 :

在这里插入图片描述


图四 :

在这里插入图片描述


图五 :

在这里插入图片描述


图六 :

在这里插入图片描述


简单 介绍完 gitee 里面的仓库 ,下面我们将远程仓库 克隆到本地仓库.

3.2 克隆远程仓库


图一 :

在这里插入图片描述


使用: HTTPS 协议 克隆远程仓库

在这里插入图片描述

使用 SSH 协议 完成克隆操作


图一 :

在这里插入图片描述

图二 :

在这里插入图片描述


克隆完成远程仓库 ,接下来我们就来 将 本地仓库的修改 推送到远程仓库中

3.3 推送


图一 :

在这里插入图片描述


图二 :

在这里插入图片描述


注意: 这里 远程仓库 和 本地仓库 要建立链接 才能进行 推送 , 这里 本地仓库的 master 和 远程 仓库的master 之所以 能够推送是因为 在克隆的时候 git 会自动帮我们 建立联系 (只针对 master 分支)

3.4 拉取


图一 :

在这里插入图片描述


图二 :

在这里插入图片描述

3.5 gitignore 文件

在⽇常开发中,我们有些⽂件不想或者不应该提交到远端,⽐如保存了数据库密码的配置⽂件,那怎 么让 Git 知道呢?


在 Git ⼯作区的根⽬录下创建⼀个特殊的 .gitignore ⽂件,然后把要忽略的⽂件 名填进去,Git 就会⾃动忽略这些⽂件了。 不需要从头写 .gitignore ⽂件,

gitee 在创建仓库时就可以为我们⽣成,不过需要我们主动勾选⼀ 下:

在这里插入图片描述


图一 :

在这里插入图片描述


图二 :

在这里插入图片描述

3.6 配置别名

在这里插入图片描述

4. 标签管理

4.1 理解标签


标签 tag ,可以简单的理解为是对某次 commit 的⼀个标识,相当于起了⼀个别名。例如,在项⽬ 发布某个版本的时候,针对最后⼀次 commit 起⼀个 v1.0 这样的标签来标识⾥程碑的意义。


这有什么⽤呢?

相较于难以记住的 commit idtag 很好的解决这个问题,因为 tag ⼀定要给⼀ 个让⼈容易记住,且有意义的名字。当我们需要回退到某个重要版本时,直接使⽤标签就能很快定位到。

4.2 标签相关操作


图一 :

在这里插入图片描述


图二 :

在这里插入图片描述

上面在 本地 进行了一些标签操作 (新增 , 查看 , 删除 标签) , 下面我们在 远程仓库中进行一些标签操作.


图一 :

在这里插入图片描述


图二 :

在这里插入图片描述

5. 总结

本文使用到的命令 :

命令功能
git branch查看本地分支
git branch xxx创建本地分支
git checkout xxx切换分支
git cat-file -p xxx查看一下 dev 存放的 ·commitId 指向的对象
git merge xxx合并分支
git branch -d xxx删除 xxx 分支
git checkout -b xxx创建 并切换到 xxx 分支
git merge --no-ff -m “xxxx” xxx(分支名)使用非 Fast-forward 模式进行合并
git clong + 协议提供的克隆链接将远程仓库克隆到本地仓库
git push + origin (远程仓库名) + 分支名(本地仓库) : 分支名 (远程仓库)将本地仓库 修改 提交到远程仓库
git pull + origint (远程仓库名) + 分支名(本地仓库) : 分支名 (远程仓库)将远程仓库的代码拉取到 本地仓库
git config (–global) + alias.xxx(别名) + xxxx (需要别名的命令)别名操作
git tag xxx创造 标签
git tag查看标签
git tag -d xxx(要删除的标签名)删除标签
git show xxx (标签名)查看标签描述
git push 标签名对新增的标签进行推送
git push origin --tags将所有的标签进行推送
git push origin : xxxx对 本地删除了的标签进行推送 (删除远程仓库中的标签)

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

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

相关文章

Android侧滑栏(一)可缩放可一起移动的侧滑栏

在实际的各类App开发中,经常会需要做一个左侧的侧滑栏,类似于QQ这种。 今天这篇文章总结下自己在开发中遇到的这类可以跟随移动且可以缩放的侧滑栏。 一、实现原理 使用 HorizontalScrollView 实现一个水平方向的可滑动的View,左布局为侧滑…

为c语言安装easyx图形库

按照图上的步骤&#xff0c;安装easyx图形库。 接下来看代码&#xff1a; #include<easyx.h> #include<stdio.h> #define width 800 #define height 600int main() {initgraph(width, height); // 初始化窗口&#xff08;宽度&#xff0c; 高度&#xff09;…

OpenHarmony社区运营报告(2023年7月)

本月快讯 • 2023年7月28日-29日&#xff0c;全球软件质量&效能大会&#xff08;简称“QECon”&#xff09;圆满举行&#xff0c;OpenAtom OpenHarmony&#xff08;简称“OpenHarmony”&#xff09;以“优质高效测试助力OpenHarmony北向应用生态赋能”为主题&#xff0c;以…

Java项目作业~ 通过html+Servlet+MyBatis,完成站点信息的添加功能

需求&#xff1a; 通过htmlServletMyBatis&#xff0c;完成站点信息的添加功能。 以下是站点表的建表语句&#xff1a; CREATE TABLE websites (id int(11) NOT NULL AUTO_INCREMENT,name char(20) NOT NULL DEFAULT COMMENT 站点名称,url varchar(255) NOT NULL DEFAULT ,…

目标识别模型两种部署形态图

目标检测预训练模型基于新数据进行微调&#xff08;训练&#xff09;之后&#xff0c;得到一个权重文件。 在日常工业、车载等需求环境下&#xff0c;需要在嵌入式移动端的软件系统中调用该模型文件进行推断测试&#xff0c;软件系统追求性能经常使用C/C进行编码实现&#xff…

Apipost接口自动化中关联关系如何配置

在接口自动化测试中&#xff0c;接口之间可能存在依赖关系&#xff0c;即某些接口的执行需要先完成其他接口的执行。为了确保测试用例的正确执行&#xff0c;我们需要在配置测试用例时考虑接口之间的依赖关系。在编写测试用例时&#xff0c;需要明确每个接口的功能和输入输出参…

注册亚马逊买家账号需要什么资料

注册亚马逊买家账号通常需要以下基本资料&#xff1a; 1、邮箱&#xff1a;您需要一个有效的邮箱&#xff0c;用于注册账号和接收与账户相关的通知。 2、密码&#xff1a;选择一个安全的密码&#xff0c;以确保您的账号信息安全。 3、姓名&#xff1a;提供您的全名或常用的姓…

高忆管理:今年来尚未有公司递表,香港SPAC市场为何“熄火”?

香港SPAC上市准则敞开之后&#xff0c;从第一家公司上市到现在已经有1年多的时刻。&#xff08;【深度】王石、李宁、卫哲争相发起建立SPAC&#xff0c;香港版“上市盲盒”会火吗&#xff1f; 界面新闻了解到&#xff0c;今年以来&#xff0c;香港SPAC并没有新动态&#xff0c;…

Linux 文件查看命令

一、cat命令 1.cat文件名&#xff0c;查看文件内容&#xff1a; 例如&#xff0c;查看main.c文件的内容&#xff1a; 2.cat < 文件名&#xff0c;往文件中写入数据&#xff0c; Ctrld是结束输入 例如&#xff0c;向文件a.txt中写入数据&#xff1a; 查看刚刚写入a.txt的…

linux网络编程-libevent

libevent介绍 1 事件驱动, 高性能, 轻量级, 专注于网络 2 源代码精炼, 易读 3 跨平台 4 支持多种I/O多路复用技术, 如epoll select poll等 5 支持I/O和信号等事件 1.libevent的安装 登录官方网站: http://libevent.org, 查看相关信息 libevent源码下载主要分2个大版本&…

Linux中使用split切割文件,按行或者文件大小切割

环境中有5G大小的文件1千多万行&#xff0c;需要按行数切割&#xff0c;使用linux中的split工具可快速实现。 示例&#xff1a;测试文件造的是100万行&#xff0c;按行数切割&#xff1a; split -d -l 80000 test.txt qiege --additional-suffix.txt -d表示切割后的文件按照…

Dex文件混淆(一):BlackObfuscator

Dex文件混淆(一)&#xff1a;BlackObfuscator 首发地址:http://zhuoyue360.com/crack/105.html 文章目录 Dex文件混淆(一)&#xff1a;BlackObfuscator1. 前言2.小试牛刀3. 参考学习1. dex2jar源码简析2. BlackObfuscator简析1. 控制流平坦化1. 控制流平坦化基本介绍 2. Dex解析…

职场新星:Java面试干货让你笑傲求职路(三)

职场新星&#xff1a;Java面试干货让你笑傲求职路 1、token 为什么存放在 redis 中&#xff1f;2、索引的底层原理是什么&#xff1f;3、Spring IOC和AOP的原理4、接口和抽象类有什么共同点和区别&#xff1f;5、为什么要使用线程池&#xff1f;直接new个线程不好吗&#xff1f…

C语言函数详解(2)

目录 函数的声明和定义 函数声明 函数定义 函数递归 什么是递归 递归的两个必要条件 练习1 练习2 练习3 练习4 函数的声明和定义 函数声明 1. 告诉编译器有一个函数叫什么&#xff0c;参数是什么&#xff0c;返回类型是什么。但是具体是不是存在&#xff0c;函数声明决定…

一键部署 Umami 统计个人网站访问数据

谈到网站统计&#xff0c;大家第一时间想到的肯定是 Google Analytics。然而&#xff0c;我们都知道 Google Analytics 会收集所有用户的信息&#xff0c;对数据没有任何控制和隐私保护。 Google Analytics 收集的指标实在是太多了&#xff0c;有很多都是不必要的&#xff0c;…

我被一位美女程序员夸了!

见字如面&#xff0c;我是军哥&#xff01; 昨天晚上&#xff0c;一位美女程序员&#xff08;为什么说是美女&#xff0c;因为我有她的简历照片&#xff09;读者主动找我聊天&#xff0c;说之前买我的《技术人核心能力》课程终于看完了&#xff0c;受益匪浅&#xff0c;并且有些…

【QT】 QSS样式表设计一文了解

很高兴在雪易的CSDN遇见你 &#xff0c;给你糖糖 欢迎大家加入雪易社区-CSDN社区云 前言 本文分享QT界面设计中的QSS样式技术&#xff0c;主要从**、**和**方面展开&#xff0c;希望对各位小伙伴有所帮助&#xff01;学会了QSS样式设计&#xff0c;就可以开动你的审美&#…

【腾讯云 Cloud Studio 实战训练营】基于Python实现的快速抽奖系统

文章目录 ⭐️ Cloud Studio - 简介&#x1f31f; 操作步骤&#x1f31f; 注册Cloud Studio&#x1f31f; 创建工作空间&#x1f31f; 启动对应的开发环境 ⭐️ 抽奖系统项目介绍⭐️ 抽奖系统代码结构图⭐️ 项目基础类 - 文件检查&#x1f31f; base.py 基础类文件检查示例如…

【踩坑系列记录 】Anaconda环境将torch由cpu换成gpu

概要 很早前做过深度学习&#xff0c;配环境之类的坑由于没记录都记不清了。这段时间开始做深度学习的项目&#xff0c;于是用Anaconda给项目创建了一个环境&#xff0c;其他的环境配置很顺利&#xff0c;就是到了安装pytorch时&#xff0c;我用pytorch官网的代码一直下载的是…

法学领域的技术创新点

文章目录 一、中国法研杯-2019方案分享1 相似案件检索——法律文书的相似判断方案1 -冠军方案2——三等奖 2 裁判文书论辩挖掘 二、中国法研杯2018总述Overview of CAIL2018: Legal Judgment Prediction Competition 三、中国法研杯2022-任务概述事件检测文书校对类案检索司法摘…