【Git】Git 分支管理 ( 使用 git cherry-pick 命令提取提交记录应用于当前分支 | 创建新分支应用某个提交 | git cherry-pick 冲突处理 )
文章目录
- 一、环境准备
- 二、创建新分支应用 dev2 提交
- 三、git cherry-pick 冲突处理
一、环境准备
git cherry-pick 命令的作用是 将指定的 一个或若干个 提交记录 , 应用与当前的分支 ;
创建一个 dev 分支 , 然后在该分支中 , 编辑 file1.txt 文件 , 分别添加 444 行 文本 , 每行都提交一次 ;
执行
git reflog
查看 444 次提交的哈希码 :
D:\Git\git-learning-course>git reflog
29206c6 (HEAD -> dev) HEAD@{0}: commit: dev4
31914ab HEAD@{1}: commit: dev3
cc5fe50 HEAD@{2}: commit: dev2
f12e2d3 HEAD@{3}: commit: dev1
2bd4156 (origin/master, origin/HEAD, master) HEAD@{4}: checkout: moving from master to dev
2bd4156 (origin/master, origin/HEAD, master) HEAD@{5}: clone: from https://codechina.csdn.net/han12020121/git-learning-course
二、创建新分支应用 dev2 提交
执行
git switch master
命令 , 切换换到 master 分支 , 将 dev 分支中的 dev1 提交 , 作为当前分支的最新的提交内容 ;
f12e2d3 HEAD@{3}: commit: dev1
执行
git cherry-pick f12e2d3
命令 , 正式将 dev1 提交作为当前 master 分支的内容 ; 该操作没有冲突 , 可以直接执行 ;
D:\Git\git-learning-course>git switch master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.D:\Git\git-learning-course>
D:\Git\git-learning-course>git cherry-pick f12e2d3
[master 2321849] dev1Date: Thu Dec 9 20:58:46 2021 +08001 file changed, 3 insertions(+), 1 deletion(-)D:\Git\git-learning-course>
三、git cherry-pick 冲突处理
在 dev 分支中 , 执行
git switch -c dev_1
命令 , 直接基于 dev 分支创建新的分支 dev_1 , 注意此时的 dev 分支有 444 个提交 , dev_1 也有 444 个提交 ;
执行
git cherry-pick f12e2d3
命令 , 将 f12e2d3 提交作为当前 dev_1 分支的当前提交内容 , 此处出现了冲突 ;
f12e2d3 提交记录的内容 :
f12e2d3 HEAD@{3}: commit: dev1
执行过程 :
D:\Git\git-learning-course>git cherry-pick f12e2d3
Auto-merging file1.txt
CONFLICT (content): Merge conflict in file1.txt
error: could not apply f12e2d3... dev1
hint: After resolving the conflicts, mark them with
hint: "git add/rm <pathspec>", then run
hint: "git cherry-pick --continue".
hint: You can instead skip this commit with "git cherry-pick --skip".
hint: To abort and get back to the state before "git cherry-pick",
hint: run "git cherry-pick --abort".
冲突文件内容 :
hello world
hello worldgit branch dev<<<<<<< HEAD
devdev2dev3dev4
=======
dev
>>>>>>> f12e2d3 (dev1)
手动解决冲突 , 然后编辑为 :
hello world
hello worldgit branch devdev
先执行
git add .
命令, 提交该文件到暂存区 , 然后执行
git cherry-pick --continue
命令 , 继续执行 git cherry-pick 命令后续操作 , 期间会弹出 vim 编辑器 , 输入提交内容 ;
D:\Git\git-learning-course>git cherry-pick --continue
[dev_1 301c619] dev1Date: Thu Dec 9 20:58:46 2021 +08001 file changed, 6 deletions(-)D:\Git\git-learning-course>
【Git】Git 分支管理 ( 使用 git cherry-pick 命令提取提交记录应用于当前分支 | 创建新分支应用某个提交 | git cherry-pick 冲突处理 )相关推荐
- 如何从标签创建新分支?
本文翻译自:How to create a new branch from a tag? I'd like to create a new master branch from an existing ...
- github创建新分支,并上传代码
自己从github上下载了某个工程,对代码进行修改了之后如果不想合并到main分支,可以创建一个新的分支,然后把新的代码上传到分支上.命令如下 git branch -a#查看分支 git check ...
- git 从远程主服务器当中创建新分支
现有版本; h20, h28,h26,i8 h28,h26,i8是从H20下面创建的. 需求: 从H28下面创建新分支继续开发. 思路: 所有代码均是放置到H20上仓库当中,首先下载H20完整仓库,也 ...
- git关联远程仓库+在github上创建新分支
1.通过命令 git init 把这个目录变成git可以管理的仓库 git init 2.使用命令 git add . 添加到暂存区里面 3.用命令 git commit -m '注释' 把 ...
- git 创建新分支,合并分支等问题
一.背景 正常公司的开发,都需要把线上的和开发的项目分开.就比如开发APP,那么当我们发布1.0稳定版本之后,我们就应该新建个online分支,然后让线上的项目指向该分支.同时呢,我们在master分 ...
- Git创建新分支并提交到github
前言 因为需求的变更,需要把原来的代码做一下备份,再进行下一步的开发,所以 这是就将原来的代码创建一个新的分支来保存原来的代码,以防后面需要回滚,这里记录一下操作的步骤 第一步:可以先查看一下当前所在 ...
- git从某个分支创建新分支
如题,记录一下从某个分支创建新分支的方法. 如从dev分支创建一个test分支 第一种:纯命令行的方式 第一步,切换到你指定的分支 如我要从dev上拉一个分支,代码一模一样 git checkout ...
- Github 创建新分支
一.clone Repository clone Github 上的Repository,如下: git clone git@github.com:FBing/design-patterns.git ...
- TortoiseGit- 创建本地新分支,提交推送到远程,本地新分支合并到工作分支,提交到远程工作分支等。...
整体思路: 创建本地新分支 (create branch) -- 切换到本地新分支工作 (switch/checkout) --提交修改 (commit) -- 推送到远程新分支 (push) ...
最新文章
- JAVA-JSP Scriptlets(JSP小脚本)
- P5025-[SNOI2017]炸弹【tarjan,线段树优化建图】
- 作者:王亚楠(1988-),男,中国科学院昆明植物研究所科学数据库管理员
- 《论文笔记》COVINS: Visual-Inertial SLAM for Centralized Collaboration
- 爱着你,恨着你——BCGControlBar的Menu字体
- pythonjam教程_Python学习:安装配置pycharm编辑器教程
- BUNUO自动化框架图
- 使用base64:url 来定义背景图片url
- 用NextResult方法取得多个Result Set
- 新浪微博api的使用
- 数据结构实验一 顺序表的插入、删除
- zemax输出ies_基于ZEMAX的光学设计教程(第2版)
- RTI -- 实时中断
- oracle将两个时间相减_oracle 两个时间相减
- 免费云服务器+免费虚拟主机推荐
- android usb 以太网,如何在Android智能手机上通过USB-OtG使用连接USB的有线以太网适配器?...
- 【VUE-编辑回显】
- MATLAB中clf函数
- 语音视频自动生成字幕在线工具介绍
- (建议收藏)服务器宕机了不要慌,这样排查效率高