【教程搬运】廖雪峰Git的使用教程(二)

article/2025/11/10 8:53:04

廖雪峰的Git使用教程

  • 5 分支管理
    • 5.1 创建与合并分支
    • 5.2 解决冲突
    • 5.3 分支管理策略
    • 5.4 Bug分支
    • 5.5 丢弃未被合并的分支
    • 5.6 多人协作
    • 5.7 Rebase
  • 6 标签管理
    • 6.1 创建标签
    • 6.2 管理标签
  • 7 使用Github
  • 8 使用Gitee
  • 9 自定义Git
    • 9.1 忽略特殊文件
    • 9.2 配置别名
    • 9.3 搭建Git服务器
  • 10 使用Source Tree
  • 0 期末总结

5 分支管理

https://www.liaoxuefeng.com/wiki/896043488029600/896954848507552

5.1 创建与合并分支

创建分支:git branch (分支名)
切换分支:git checkout (分支名)或者git switch (分支名)
创建分支并切换到这个分支:git checkout -b (分支名) 或者git switch -c (分支名)
合并分支:首先要切换回master分支,然后使用git merge dev,就可以将dev融合到master分支里。
删除分支:git branch -d (分支名)
图1:查看、创建、切换分支

5.2 解决冲突

https://www.liaoxuefeng.com/wiki/896043488029600/900004111093344
图2:冲突发生的情况
比方说,我在dev分支里修改了readme.txt,然后又在master分支里修改了readme.txt。分别git add和commit在各自的分支里之后,尝试融合,就会出现如下的场景。终端里显示的内容是下面这个。
图3:未能融合——终端
而在原文里,会显示这样的场景。图4:未能融合——readme.txt
解决冲突的办法是单机上面第4行和第5行之间的选项。然后尝试git add和commit提交。
图5:合并后的结构图
在合并操作进行之后,就会有上面的结构图。我们可以使用下面的命令来看看命令历史和结构图。

#这一行是用来查看命令的历史。
git log
#这一行是用图表的方式来展示分支。
git log --graph
#如果你想省略掉无关的注释可以采用这一行命令
git log --graph --pretty=oneline --abbrev-commit

效果如图所示
图6:合并后命令历史
图7:分支冲突

5.3 分支管理策略

https://www.liaoxuefeng.com/wiki/896043488029600/900005860592480

合并分支有两种方式,第一种是fast forward模式,第二种是禁用fast forward模式。前者是默认的merge模式。

  1. fast-forward模式
    图7:fast-forward模式
    从图中可以看出,只要dev分支被删除,这个里面就只有一条线路,没有dev这个分支了。这样的合并只是单纯把master的指针指向了dev这一块。

  2. 禁用fast-forward模式
    图8:禁用fast forward模式
    从图中,可以看出,dev分支并没有被抹去,与master二者合并提交,创建出了一个新的commit。
    命令如下:

git merge --no-ff -m "merge with no-ff" dev

其中-m是因为要创建一个新的提交,所以要写一个提交注释。
图9:合并分支小结

5.4 Bug分支

https://www.liaoxuefeng.com/wiki/896043488029600/900388704535136

本节所讨论的技术适用于这样的场景,master分支上存在一个bug(同时也存在于dev分支上),我们正在dev分支上进行编辑,但是现在我们必须先修复bug,再编辑dev分支的任务,这之后再把dev分支上的bug(与master分支相同)修复。

第一步:你正在dev分支上进行编辑,然后master分支上有一个紧急需要你修复的bug。通过下面的命令来隐藏当前的状态。

#用于将当前的状态进行隐藏
git stash

第二步:在master上创建新的分支bug-1修复bug,通过add、commit完成提交,并merge到master分支上。

第三步:修复bug完毕,要回到dev分支上继续干活了。首先要查看之前存储的空间。

#用于查看之前存储的工作现场
git stash list

通常,系统会显示出如下场景:

$ git stash list
stash@{0}: WIP on dev: f52c633 add merge

第四步:恢复现场的两种方式。第一种是使用git stash apply,不过这种方式不会删除之前存储的dev分支工作现场,需要使用命令git stash drop手动删除;第二种是使用git stash pop

#这是第一种恢复现场的方法
git stash apply stash@{0}
#这是第二种恢复现场的方法
git stash pop

第五步:您现在已经修复了master分支上的bug,同时也继续回到了dev分支上进行编辑,但是dev分支上同样也是有问题的,因为本身dev分支就是从master分支上复制出来的,所以dev分支上的bug同样也需要修复。

我们发现,此前为了修复master分支,曾经创建了一个名为bug-1的分支,当时commit命令的命令号是可以查看的。

我们要切换回dev分支,然后我们通过下面的命令,就可以在dev分支上修复bug。

#在dev分支上修复bug
git cherry-pick (命令号)

图10:bug修复

5.5 丢弃未被合并的分支

https://www.liaoxuefeng.com/wiki/896043488029600/900394246995648

一个未被合并的分支,如果简单地使用git branch -d (分支名),并不能删除掉这个分支,如果想要强行删除未被合并的分支,必须使用下面的命令。

#删除未被合并的分支
git branch -D (分支名)

5.6 多人协作

https://www.liaoxuefeng.com/wiki/896043488029600/900375748016320

  1. 查看远程库的信息

要想查看远程库的信息,需要使用下面的命令。

#这是查看远程库的命令
git remote

如果想要查看详细的信息,就要使用下面的命令。

#详细地查看远程库的命令
git remote -v
  1. 推送本地分支到远程分支
#推送本地分支到远程仓库
git push (远程仓库名) (本地分支名)
  1. 抓取远程分支
#抓取远程的分支
git clone (仓库地址)

当然,这只能抓取到master分支,如果要抓取其他分支,还要使用下面的命令。

git checkout -b dev origin/dev
  1. 与其它工作人员同时编辑dev分支上的一个东西,发生冲突怎么办?
  • 将本地dev分支和远程dev分支进行关联。
git branch --set-upstream-to=origin/dev dev
  • 拉取远程最新的分支
git pull 

如果远程库和本地库合并有问题怎么办呢?那就参见前面的解决冲突的办法就可以了。 这部分内容在5.2节。

图11:多人协作
【未完待续】

5.7 Rebase

6 标签管理

6.1 创建标签

6.2 管理标签

7 使用Github

8 使用Gitee

9 自定义Git

9.1 忽略特殊文件

9.2 配置别名

9.3 搭建Git服务器

10 使用Source Tree

0 期末总结


http://chatgpt.dhexx.cn/article/nN4l7kuH.shtml

相关文章

带你过一遍:廖雪峰大神Git教程(建议收藏)

这里是带你过一遍第一期,我来带你过一遍很出名的Git(廖雪峰版)教程,想要查看前面的笔记请翻阅我的CSDN博客,作者码字不易,喜欢的话点赞,加个关注吧,后期还有很多干货等着你&#xff…

廖雪峰Git教程:远程仓库

在本地机上创建一个Git仓库learngit,然后在自己的GitHub上添加一个Git库,让两个仓库进行远程同步。 首先,登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库。在Repository name填…

廖雪峰git教程总结

廖雪峰git教程总结 git base 命令 新建文件夹learngit $ mkdir learngit 打开新建文件夹learngit $ cd learngit 显示当前目录 $ pwd 全局配置 $ git config --global user.name “Your Name” $ git config --global user.email “emailexample.com” 配置别名 $git config …

Git 操作简单总结:廖雪峰教程

廖雪峰Git教程:Git教程 - 廖雪峰的官方网站 命令总结: git add a.txt:添加工作区内容到暂存区 git commit -m "first commit":将暂存区内容提交到版本库rm a.txt:删除工作区的a.txt git rm a.txt&#xff…

廖雪峰Git教程学习笔记

目录 概要 一、Git 和 SVN 的区别 二、Git 安装 三、本地仓库操作 1. 查看Git 版本号 2. git config 3. 初始化本地仓库 4. 添加文件到仓库 5. 查看仓库当前状态 6. 查看修改内容 7. 查看提交日志 8. 版本回退 9. git revert 10. 查看命令历史 11. 撤销修改 1…

Git学习笔记之廖雪峰Git教程

一、Git安装与卸载 1、安装 ​ 官网下载太慢,我们可以使用淘宝镜像下载:http://npm.taobao.org/mirrors/git-for-windowsl ​ 下载对应的版本即可安装!安装:无脑下一步即可! ​ 环境变量配了,就可以全局使用命令 ​ 右键git …

Git教程--基于廖雪峰的教程,最通俗易懂

本篇教程基于廖雪峰教程进行的,感谢原作者,写的是目前Git教程中最优秀的 Git教程 介绍工作流程基本概念基本操作常见命令创建仓库提交与修改提交日志远程操作 1、 Git配置安装(windows)2、创建版本库3、关联远程仓库推送SSH警告删…

Git教程(一)Git简介——廖雪峰的官方网站

目录 一、git简介 1.git的诞生 2.集中式vs分布式 3.安装git 4.创建版本库 笔记学习的内容来自-->链接Git简介—廖雪峰的官方网站 一、git简介 1.git的诞生 Git是目前世界上最先进的分布式版本控制系统(没有之一)。 Git是用C语言写的。 git…

Git 图解、常用命令和廖雪峰教程笔记总结

概述 先用一幅图,从总体上描述主要git命令的工作流程 workspace: 本地的工作目录。(记作A) index/stage:暂存区域,临时保存本地改动。 (记作B)local repository: 本地仓库,只想最后一…

小程序测试之微信开发者工具

一、为什么要使用微信开发者工具? 小程序的测试方法有很多种,直接用真实测试机扫码体验版就可以测试,那为什么还要选择使用工具呢? 使用微信开发者工具的优势: 1、相比真机测试,使用工具可以节省资源&…

微信测试号-介绍

https://mp.weixin.qq.com/debug/cgi-bin/sandbox?tsandbox/login 大部分在企业上手微信公众号开发的都是直接用企业的账号,而我这里主要教学。所以使用的是微信测试号。 我们先要知道我们的入口(下面链接就是) 微信测试号入口&#xff1a…

微信小程序测试点

测试范围 1.权限测试 1)未授权 未授权时,首次进入小程序弹出提醒授权登录 未授权进入小程序后提交数据时,提示授权补充信息才可提交 2)已授权 已授权微信登录后可被小程序管理方所获取信息,自动以微信的身份操作业务 …

【微信测试号实战——01】注册一个属于你自己的微信测试号

系列文章目录 微信测试号系列文章,快速进入 【微信测试号实战——01】注册一个属于你自己的微信测试号 文章目录 系列文章目录前言一、打开微信测试号官网二、使用步骤1.打开手机端微信2.扫码登录3.注册成功 三、关注测试号总结 前言 发现微信公众号有很多有意思的…

微信朋友圈测试用例

这里写目录标题 功能测试发朋友圈只发送文本只发送图片只发送视频以上模式搭配使用,是否可以正常使用所在的位置谁可以看提醒谁看是否同步到QQ空间发送 浏览朋友圈文本查看图片查看视频查看分享朋友圈点赞评论删除朋友圈屏蔽朋友圈刷新朋友圈微信朋友圈的封面&#…

微信小程序测试(简单项目测试)

Flex布局简介 布局的传统解决方案,基于盒状模型,依赖 display属性 position属性 float属性 什么是flex布局? Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。 任何一个容器都可以指…

微信小程序的测试方法

https://developers.weixin.qq.com/miniprogram/design/ 微信小程序的定义 依附于微信而无需再次下载安装的移动端应用程序 微信小程序的特点 无需下载,即用即走 功能丰富,清爽体验 流量大、易裂变 微信小程序的局限性 数量:每个应用最大支持页面层…

如何测试微信小程序

什么是小程序 一种不需要下载、安装,运行在微信里可以直接使用的应用。 怎样测试小程序 功能测试 功能测试可以参考APP的测试方法 输入、输出:用户上传的材料、描述,登录时输入的用户名、密码等; 边界值测试:黑盒测…

微信小程序性能测试——启动性能专项测试

微信小程序性能测试主要可以分为两个方面,启动性能 和 运行时的性能。 其中 小程序启动 是用户体验中极为重要的一环,启动耗时过长会直接造成小程序用户流失,影响用户体验。一般来说用户等待时间超过3秒,用户就有很大概率放弃等待…

微信小程序该如何测试?

今天大湿给大家带来了小程序该如何测试。 全文共2115字,阅读需要13分钟 1.什么是小程序 英文名 Mini Program 是一种不需要下载安装即可使用的应用,是内嵌在微信 APP 里面的一款新形态软件。 它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了…

微信小程序怎么测试

一、什么是小程序? 小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在&#xff0…