当前位置:首页 > 开发工具 > git如何选择性合并

git如何选择性合并

2022年09月16日 18:27:50开发工具12

git cherry-pick用于把另一个本地分支的commit修改应用到当前分支。我们通过一个实例来演示怎样使用该指令。

假如我们存在master和dev两个分支,我们在dev分支上面commit三次,分别新建对应的文件a.txt、b.txt和c.txt。然后我们进入master分支,将b.txt次的commit应用到master分支上面。如下:# 查看当前存在那些分支

Administrator@lenovoPC MINGW32 ~/Desktop/git/git-demo (master)

$ git branch

dev

* master

# 选择dev分支

Administrator@lenovoPC MINGW32 ~/Desktop/git/git-demo (master)

$ git checkout dev

Switched to branch 'dev'

# 新建a.txt文件且commit

Administrator@lenovoPC MINGW32 ~/Desktop/git/git-demo (dev)

$ echo "a" > a.txt

Administrator@lenovoPC MINGW32 ~/Desktop/git/git-demo (dev)

$ git add .

warning: LF will be replaced by CRLF in a.txt.

The file will have its original line endings in your working directory.

Administrator@lenovoPC MINGW32 ~/Desktop/git/git-demo (dev)

$ git commit -m "new a.txt"

[dev c527058] new a.txt

1 file changed, 1 insertion(+)

create mode 100644 a.txt

# 新建b.txt文件且commit

Administrator@lenovoPC MINGW32 ~/Desktop/git/git-demo (dev)

$ echo "b" > b.txt

Administrator@lenovoPC MINGW32 ~/Desktop/git/git-demo (dev)

$ git add .

warning: LF will be replaced by CRLF in b.txt.

The file will have its original line endings in your working directory.

Administrator@lenovoPC MINGW32 ~/Desktop/git/git-demo (dev)

$ git commit -m "new b.txt"

[dev 481ca57] new b.txt

1 file changed, 1 insertion(+)

create mode 100644 b.txt

# 新建c.txt文件且commit

Administrator@lenovoPC MINGW32 ~/Desktop/git/git-demo (dev)

$ echo "c" > c.txt

Administrator@lenovoPC MINGW32 ~/Desktop/git/git-demo (dev)

$ git add .

warning: LF will be replaced by CRLF in c.txt.

The file will have its original line endings in your working directory.

Administrator@lenovoPC MINGW32 ~/Desktop/git/git-demo (dev)

$ git commit -m "new c.txt"

[dev f461ff5] new c.txt

1 file changed, 1 insertion(+)

create mode 100644 c.txt

# 查看git日志

Administrator@lenovoPC MINGW32 ~/Desktop/git/git-demo (dev)

$ git log

commit f461ff538dda1453792f3eef63a0b0b59501f51e     # 第三次提交

Author: huangx 

Date:   Fri Mar 24 13:09:37 2017 +0800

new c.txt

commit 481ca5706cd4679b3fa321b13e07e2996b40553f     # 第二次提交

Author: huangx 

Date:   Fri Mar 24 13:09:21 2017 +0800

new b.txt

commit c527058bbf3c591efe6252d57d025e480bf49a2e     # 第一次提交

Author: huangx 

Date:   Fri Mar 24 13:09:02 2017 +0800

new a.txt

commit e23c966ee690a255c80b441673e066945f52ebf3

Author: huangx 

Date:   Thu Mar 23 22:48:33 2017 +0800

# 进入master分支

Administrator@lenovoPC MINGW32 ~/Desktop/git/git-demo (dev)

$ git checkout master

Switched to branch 'master'

# 将第二次提交应用到master分支

Administrator@lenovoPC MINGW32 ~/Desktop/git/git-demo (master)

$ git cherry-pick 481ca5706cd4679b3fa321b13e07e2996b40553f

[master e9e9587] new b.txt

Date: Fri Mar 24 13:09:21 2017 +0800

1 file changed, 1 insertion(+)

create mode 100644 b.txt

Administrator@lenovoPC MINGW32 ~/Desktop/git/git-demo (master)

$ ls

b.txt  dev.txt  readme.txt  version.txt

# 进入dev分支,查看分支文件列表

Administrator@lenovoPC MINGW32 ~/Desktop/git/git-demo (master)

$ git checkout dev

Switched to branch 'dev'

Administrator@lenovoPC MINGW32 ~/Desktop/git/git-demo (dev)

$ ls

a.txt  b.txt  c.txt  dev.txt  master.txt  readme.txt  version.txt

作者:被要求改名字
来源链接:https://blog.csdn.net/weixin_35831256/article/details/111979386

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/tool/42081.html

标签: Git合并
分享给朋友:

“git如何选择性合并” 的相关文章

eclipse解决项目开发中git冲突

eclipse解决项目开发中git冲突

基本介绍Git-开源代码托管平台,一个开源的分布式版本控制系统,又称版本控制工具Github - 一个网站,提供给用户空间创建git仓储,一个网络版的版本控制工具,GitHub可以托管各种git库,并提供一个web界面,国内的代码托管平台主要有:码云、阿里云、码市、CSDN等,下图是国外的GitHu...

关于Git你必须知道的

目录 添加修改 储藏 撤销修改 更新与推送 查看信息 分支 标...

Git 管理工具 SourceTree 的使用(上手简单,不熟悉git命令的开发者必用)

Git 管理工具 SourceTree 的使用(上手简单,不熟悉git命令的开发者必用)

目录 一、SourceTree 概述 二、SourceTree 使用方法 1. 克隆 Git 仓库至本地 2. 推送本地的文件至远程仓库 3. 创建/切换/合并分支 4. 版本回退 一、SourceTree 概述 &...

在Github上搭建个人博客网站

在Github上搭建个人博客网站

利用Hexo和Github Page在Github上免费搭建自己的个人博客网站 一、前期准备 二、建立仓库 三、安装及配置Hexo 安装Hexo 配置Hex...

Git常见错误(附解决办法)

目录 1.Unable to create 'F:/Git/.git/index.lock': File exists. 2.committing is not possible because you hav...

Git的安装教程(完成clone一个项目到本地)

Git的安装教程(完成clone一个项目到本地)

官网下载安装包地址:点击进入 https://git-scm.com/download/win 但是官网下载比较慢,我们这里选择国内阿里镜像点击进入 https://npm.taobao.org/mirro...

Git批量删除本地分支

删除分支命令 删除一条分支: git branch -D branchName 删除当前分支外的所有分支: git branch | xargs git branch -d 删除分...

【git】warning: adding embedded git repository

warning: adding embedded git repository: git/.... 当前目录下面有.git文件夹------默认是隐藏的,直接将.git文件夹掉,再重新git add . 则不再有报警提示,按正常的上传步骤上传代码即可。 作...

git重新设置账户和密码

git重新设置账户和密码 **清空所有用户名和密码(cmd以管理员身份运行):git config --system --unset credential.helper git config...

Git和GitHub

Git和GitHub

目录 Git概念 什么是版本控制? 为什么要使用版本控制? 版本控制系统的分类: ❀集中化的版本控制系统: ❀分布式的版本控制系统 git安装 git结构 代码托管中心_本地库和远程库的交互方式 初始化本地仓库 g...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。