Git 开源的版本控制系统-04-branch manage 分支管理

news2024/11/17 13:36:26

拓展阅读

Subversion 开源的版本控制系统入门介绍 VCS

Git 开源的版本控制系统-01-入门使用介绍

Git 开源的版本控制系统-02-base usage 基本用法

Git 开源的版本控制系统-03-时间数据回溯

Git 开源的版本控制系统-04-branch manage 分支管理

Git 开源的版本控制系统-05-tags 标签管理

Git 开源的版本控制系统-06-share to github 如何把项目代码共享到 github

Git 开源的版本控制系统-07-gitignore 指定忽略版本管理的文件

分支管理

  • 查看分支

本地

$   git branch

远程

$   git branch -r

所有

$   git branch -a
  • 创建与切换
houbinbindeMacBook-Pro:git-demo houbinbin$ git branch git_demo_1.1
houbinbindeMacBook-Pro:git-demo houbinbin$ git branch
  git_demo_1.1
* master
houbinbindeMacBook-Pro:git-demo houbinbin$ git checkout git_demo_1.1
切换到分支 'git_demo_1.1'
houbinbindeMacBook-Pro:git-demo houbinbin$

与以下命令相同

$   git checkout -b <name>
  • 推送分支到 Github
$   git push origin [分支名]
  • 删除分支

本地

$   git branch -d [分支名]

Github 远程

$   git push origin --delete <分支名>
  • 合并分支

git wiki

idea


$ git checkout master

$ git pull

$ git checkout 分支

$ git rebase master     (用rebase合并主干的修改,如果有冲突在此时解决)

$ git checkout master

$ git merge 分支

$ git push
  • 推送

注意,合并后它没有暂存区,所以,提交会告诉你没有变化。

您应该使用 git push origin master

$   git push    //推送到当前分支
$   git push origin master  //推送到主分支
  • 分支合并提示

通常,当合并时,git 会使用 Fast Forward 模式,我们可以使用 --no-ff 进行合并。

houbinbindeMacBook-Pro:git-demo houbinbin$ git checkout -b git_demo_1.2
切换到一个新分支 'git_demo_1.2'

houbinbindeMacBook-Pro:git-demo houbinbin$ git add README.md
houbinbindeMacBook-Pro:git-demo houbinbin$ git commit -m "change git_demo_1.2"
[git_demo_1.2 8983fd1] change git_demo_1.2
 1 file changed, 2 insertions(+), 1 deletion(-)

houbinbindeMacBook-Pro:git-demo houbinbin$ git checkout master
切换到分支 'master'
您的分支与 'origin/master' 一致。
houbinbindeMacBook-Pro:git-demo houbinbin$ git merge --no-ff -m "merge with --no-ff" git_demo_1.2
合并分支 'git_demo_1.2' 到 'master'
Fast-forward
 README.md | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

现在,查看日志

houbinbindeMacBook-Pro:git-demo houbinbin$ git log --graph --pretty=oneline --abbrev-commit
*   0d899d1 merge with --no-ff
|\
| * 8983fd1 change git_demo_1.2
|/
* d696904 add pom.xml
* cd84e27 git diff
* 9f18a0c add readme
* 965cf5d first commit
  • 删除本地分支
$   git branch -d xxxxx

Bug 分支

如果在工作的过程中,您必须解决其他问题。

例如,您在分支 1.2 上编写了一些东西,但是有一个 bug 需要修复,我们应该如何处理?

  • git stash

这个命令可以保存当前的工作状态。

houbinbindeMacBook-Pro:git-demo houbinbin$ git status
在分支 master
您的分支领先 'origin/master' 2 个提交。
  (使用 "git push" 来发布您的本地提交)
未暂存的变更:
  (使用 "git add <file>..." 更新要提交的内容)
  (使用 "git checkout -- <file>..." 丢弃工作区的更改)

        修改:     README.md

没有要提交的变更(使用 "git add" 和/或 "git commit -a")

现在,我们可以切换到 master 分支并解决 bug。

houbinbindeMacBook-Pro:git-demo houbinbin$ git checkout master
已经位于 'master'
您的分支领先 'origin/master' 2 个提交。
  (使用 "git push" 来发布您的本地提交)
houbinbindeMacBook-Pro:git-demo houbinbin$ git checkout -b git_demo_bug_001
切换到一个新分支 'git_demo_bug_001'
houbinbindeMacBook-Pro:git-demo houbinbin$ git add README.md
houbinbindeMacBook-Pro:git-demo houbinbin$ git commit -m "fix the bug"
[git_demo_bug_001 4069a0c] 修复 bug
 1 file changed, 2 insertions(+), 1 deletion(-)

houbinbindeMacBook-Pro:git-demo houbinbin$ git checkout master
切换到分支 'master'
您的分支领先 'origin/master' 2 个提交。
  (使用 "git push" 来发布您的本地提交)
houbinbindeMacBook-Pro:git-demo houbinbin$ git merge git_demo_bug_001
更新 0d899d1..4069a0c
Fast-forward
 README.md | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

修复了 bug 后,我们可以切换到 1.2 分支,继续工作

houbinbindeMacBook-Pro:git-demo houbinbin$ git stash list
stash@{0}: 在 master 上 WIP: 0d899d1 merge

 with --no-ff
houbinbindeMacBook-Pro:git-demo houbinbin$ git stash pop
切换到分支 'git_demo_1.2'
未暂存的变更:
  (使用 "git add <file>..." 更新要提交的内容)
  (使用 "git checkout -- <file>..." 丢弃工作区的更改)

        修改:     README.md

没有要提交的变更(使用 "git add" 和/或 "git commit -a")
Dropped refs/stash@{0} (9cd4d92f41db2cdb1b8e15ffde7c73c4fd6ef83c)
houbinbindeMacBook-Pro:git-demo houbinbin$ git stash list

本文由博客一文多发平台 OpenWrite 发布!

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

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

相关文章

蓝桥-求和

目录 法一&#xff1a;暴力 法二&#xff1a;利用前缀和 法一&#xff1a;暴力 通过率60% #include <bits/stdc.h> using namespace std; long long a[200010]; long long s;int main() {int n;cin>>n;for(int i0;i<n;i){cin>>a[i];}for(int i0;i<…

MS9708/MS9710/MS9714

产品简述 MS9708/MS9710/MS9714 是一个 8-Bit/10-Bit/14-Bit 高速、低功耗 D/A 转换器。当采样速率达到 125MSPS 时&#xff0c; MS9708/MS9710/MS9714 也能提供优越的 AC 和 DC 性能。 MS9708/MS9710/MS9714 的正常工作电压范围为 2.7V 到 5.5V &#xff0c;…

GPT-SoVITS项目的API改良与使用

GPT-SoVITS是一个非常棒的少样本中文声音克隆项目&#xff0c;之前有一篇文章详细介绍过如何部署和训练自己的模型&#xff0c;并使用该模型在web界面中合成声音&#xff0c;可惜它自带的 api 在调用方面支持比较差&#xff0c;比如不能中英混合、无法按标点切分句子等&#xf…

perf的安装与迁移

前言 perf是性能优化很重要的工具之一&#xff0c;本篇博客就来看一下perf的安装以及遇到的问题。 嵌入式驱动学习专栏将详细记录博主学习驱动的详细过程&#xff0c;未来预计四个月将高强度更新本专栏&#xff0c;喜欢的可以关注本博主并订阅本专栏&#xff0c;一起讨论一起学…

ElasticSearch之文档的存储

写在前面 本文看下文档的存储相关内容。 1&#xff1a;如何确定文档存储在哪个分片&#xff1f; 我们需要确保文档均匀分布在所有的分片中&#xff0c;避免某些部分机器空闲&#xff0c;部分机器繁忙的情况出现&#xff0c;想要实现均匀分布我们可以考虑如下的几种分片路由算…

HUAWEI Pocket 2说的防晒检测,能做到什么程度?

防晒是必须&#xff0c;还是噱头&#xff1f;我们来看一下经典案例&#xff1a; 《新英格兰医学杂志》调查一名69岁的卡车司机发现&#xff0c;他位于车窗侧、遭受更多阳光直晒的左半边脸&#xff0c;无论是皱纹还是皮肤厚度&#xff0c;都要比远离阳光的右半边脸要严重得多&am…

如何阅读“计算机界三大神书”之一 ——《计算机程序的构造和解释》SICP

&#x1f468;‍&#x1f393;博主简介 &#x1f3c5;云计算领域优质创作者   &#x1f3c5;华为云开发者社区专家博主   &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社区&#xff1a;运维交流社区 欢迎大家的加入&#xff01; &#x1f40b; 希望大家多多支…

【设计模式 05】原型模式

有的时候&#xff0c;我们创建对象&#xff0c;需要耗费大量时间在一些资源型操作上&#xff0c;这个时候&#xff0c;我们就可以先创建出一个模板&#xff0c;然后每次创建的时候直接从模板复制即可&#xff0c;不用反复进行耗时的资源型操作。 python代码&#xff1a; impo…

【C++干货基地】六大默认成员函数: This指针 | 构造函数 | 析构函数

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 引入 哈喽各位铁汁们好啊&#xff0c;我是博主鸽芷咕《C干货基地》是由我的襄阳家乡零食基地有感而发&#xff0c;不知道各位的…

【学习心得】Python好库推荐——websocket-client

websocket-client 是一个在 Python 中广泛使用的库&#xff0c;用于创建 WebSocket 客户端并实现与 WebSocket 服务器的双向通信。更多的关于websocket协议介绍&#xff0c;可以看看我之前写的文章哦&#xff01; 【学习心得】websocket协议简介并与http协议对比http://t.csdn…

什么是工业协议网关?作用是什么?

在工业自动化和智能制造领域&#xff0c;数据的采集、传输和处理是实现设备监控、远程控制和优化的关键。而工业协议网关&#xff0c;作为连接工业设备与上层管理系统的桥梁&#xff0c;发挥着至关重要的作用。今天&#xff0c;我们就来深入解析一下HiWoo Box这一工业协议网关的…

汽车车灯罩破损修复需要准备哪些材料?

汽车车灯罩破损修复需要准备哪些材料&#xff1f; 汽车灯罩破损修复需要准备的材料包括&#xff1a; 砂纸&#xff1a;用于打磨灯罩表面&#xff0c;去除污渍和划痕。抛光蜡或牙膏&#xff1a;用于抛光灯罩表面&#xff0c;使其恢复光滑和透明。UV胶或玻璃胶&#xff1a;用于填…

WPF —— Border、Frame控件详解

一&#xff1a;Border控件 1.Border介绍 Border&#xff08;边框&#xff09;是一个装饰的控件&#xff0c;此控件绘制一个边框、一个背景。用border标签包括目标标签。 不能有多个子元素&#xff0c;要想有多个子元素&#xff0c;多个子元素放在一个父元素下。或者放到grid标…

coreldraw2024中文版发布最新精简版绿色版

CorelDRAW Graphics Suite 2024&#xff08;简称CDR2024&#xff09;是一款非常专业的图形设计工具&#xff0c;已推出全新的2024版本&#xff0c;在功能和体验上进一步提升。它具备最新的填充和透明设备功能&#xff0c;可以完全控制任何类型的纹理&#xff0c;适用于网络摄影…

Redis 配置文件详解

Units 单位 配置大小单位&#xff0c;开头定义了一些基本的度量单位&#xff0c;只支持bytes&#xff0c;不支持bit&#xff0c;大小写不敏感。 # Redis configuration file example. # # Note that in order to read the configuration file, Redis must be # started with …

png格式怎么改成jpg?3种转换方法轻松掌握

png格式怎么改成jpg&#xff1f;在日常生活和工作中&#xff0c;PNG格式转换成JPG格式的需求十分普遍。无论是制作网页时需要优化图片加载速度&#xff0c;还是在图片编辑过程中需要调整图片格式以兼容不同平台&#xff0c;亦或是需要共享图片时减小文件大小&#xff0c;PNG转J…

惊呼:腾讯云服务器99元一年,要不要来一台?

腾讯云服务器99元一年是真的吗&#xff1f;真的&#xff0c;99元优惠购买入口 txybk.com/go/99 折合每天8元1个月&#xff0c;腾讯云99元服务器配置为2核2G3M带宽&#xff0c;2024年99元服务器配置最新报价为61元一年&#xff0c;如下图&#xff1a; 腾讯云服务器99元一年 腾讯…

华为“仓颉”不是中文编程:中文编程早有所属,势如破竹

“何时能见证中国自主研发的编程语言崛起&#xff1f;”这是我们这些对IT生态心怀关切的人常常深思的问题。 语言&#xff0c;作为文化的灵魂&#xff0c;总是与特定的环境和人群紧密相连。无论是中文还是英语&#xff0c;它们都不仅仅是交流的工具&#xff0c;更是各自文化背…

网络入侵检测系统之Suricata(十)--ICMP实现详解

ICMP协议 Common header 0 1 2 40 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 0 1 2 3 4--------------------------------| Type | Code | Checksum |-----…

学c++对Python有帮助吗?

学习C对Python编程确实有帮助&#xff0c;尽管这两种语言在许多方面有很大的不同。以下是学习C可能对Python编程产生帮助的几个方面&#xff1a; 理解底层概念&#xff1a;C是一种更接近硬件的编程语言&#xff0c;它要求程序员更深入地理解内存管理、指针、数据类型等底层概念…