git cherry-pick 可以合入某个分支的commit,开发功能需要新建一个分支,开发完毕之后要将新键分支修改code合到主分支上去就需要用到这个命令。

当下git内容

lj@lj-virtual-machine:~/111111/git/gittest$ git branch
* master
lj@lj-virtual-machine:~/111111/git/gittest$ ls
test.sh
lj@lj-virtual-machine:~/111111/git/gittest$ cat test.sh
11
lj@lj-virtual-machine:~/111111/git/gittest$

新建一个分支test,查看该分支,内容和master分支上内容一样

lj@lj-virtual-machine:~/111111/git/gittest$ git checkout -b test
切换到一个新分支 'test'
lj@lj-virtual-machine:~/111111/git/gittest$ git branchmaster
* test
lj@lj-virtual-machine:~/111111/git/gittest$ cat test.sh
11
lj@lj-virtual-machine:~/111111/git/gittest$

增加test.sh内容(22),切换分支,这时候不能切换分支,因为你的代码boss还没有审核,所以你要先把你的修改commit并push到远端。

lj@lj-virtual-machine:~/111111/git/gittest$ git status
位于分支 test
尚未暂存以备提交的变更:(使用 "git add <文件>..." 更新要提交的内容)(使用 "git checkout -- <文件>..." 丢弃工作区的改动)修改:         test.sh修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
lj@lj-virtual-machine:~/111111/git/gittest$ git add test.sh
lj@lj-virtual-machine:~/111111/git/gittest$ git commit
[test 5e78967] test1 file changed, 1 insertion(+)
lj@lj-virtual-machine:~/111111/git/gittest$ git log
commit 5e78967005660b5debe810b4435a5d638c6a757d
Author: yaori <test@runoob.com>
Date:   Thu Mar 28 20:46:43 2019 +0800testcommit bfbbb585de8626fecfc4cd2afecf414f04637af2
Author: yaori <test@runoob.com>
Date:   Thu Mar 28 20:30:40 2019 +0800:wqcommit 0d4a4182f4ca18e14919727bbedffccc4f187ac7
Author: yaori <test@runoob.com>
Date:   Thu Mar 28 19:25:03 2019 +08001commit 6aadf6389b03a29123a72f26071ff57b514e4467
Author: yaori <test@runoob.com>
Date:   Thu Mar 28 09:26:05 2019 +0800test branch cherry-pickcommit 415428a4be7cc41a1d91381fe6b0dbe88b471cd0
Author: yaori <test@runoob.com>
lj@lj-virtual-machine:~/111111/git/gittest$ git push origin test
Counting objects: 6, done.
Compressing objects: 100% (1/1), done.
Writing objects: 100% (3/3), 233 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To http://git.iservernetwork.com/iserver/gittest.git* [new branch]      test -> test
lj@lj-virtual-machine:~/111111/git/gittest$

这次的commit id是5e78967005660b5debe810b4435a5d638c6a757d

git show commit id查看修改了啥

lj@lj-virtual-machine:~/111111/git/gittest$ git show 5e78967005660b5debe810b4435a5d638c6a757d
commit 5e78967005660b5debe810b4435a5d638c6a757d
Author: yaori <test@runoob.com>
Date:   Thu Mar 28 20:46:43 2019 +0800testdiff --git a/test.sh b/test.sh
index b4de394..bfc04a9 100644
--- a/test.sh
+++ b/test.sh
@@ -1 +1,2 @@11
+22
lj@lj-virtual-machine:~/111111/git/gittest$

在主分支下面git cherry-pick commit id(test分支)

lj@lj-virtual-machine:~/111111/git/gittest$ git cherry-pick 5e78967005660b5debe810b4435a5d638c6a757d
位于分支 master
您的分支领先 'origin/master' 共 1 个提交。(使用 "git push" 来发布您的本地提交)您在执行拣选提交 5e78967 的操作。无文件要提交,干净的工作区
之前的拣选操作现在是一个空提交,可能是由冲突解决导致的。如果您无论如何
也要提交,使用命令:git commit --allow-empty否则,请使用命令 'git reset'

然后在push一次,test分支里面的修改就push到远程master分支了

git cherry-pick命令相关推荐

  1. git cherry pick

    直接将选定的其他分支的commit,提交到该分支上 不建议使用 git rebase --onto 使用cherry pick代替 http://weblog.avp-ptr.de/20120928/ ...

  2. IDEA git cherry pick 简单使用

    cherry pick的作用: 参考了一些博客, eg: 参考博客1 参考博客2 再做了个小案例后,我目前的理解是,cherry pick的作用是将一个分支的部分提交/历史提交,可以合并到另外一个分支 ...

  3. 【git cherry pick冲突】

    修好了bug愉快的打算commit提交的时候 看到提示语句是can not commit changes due to unresolved conflicts 在Android Studio中寻找图 ...

  4. Git 经常使用命令合集

    ====== Git 经常使用命令合集 ====== === 1.Git 文档 === Git 中文文档观看地址:http://git.oschina.net/progit/      === 2.G ...

  5. cherry-pick(命令行和idea方式),git部分常用命令及一些注意事项

    文章分三部分 在idea上直接cherry pick git命令行加idea来cherry pick,并解决冲突 补充的一些命令行以及注意事项 参考链接:idea的cherry pick  https ...

  6. idea cherry pick 功能 git log 窗口 冲突conflict

    git log 窗口 参考 source tree cherry pick, merge conflict merge conflict 冲突 <<<<<<< ...

  7. Git : 每一行命令都算数

    git思维导图 Git工作区域 为了说明我们日常开发中执行的一系列Git命令的作用是什么,我们需要了解Git的工作区域的概念,几乎每一个常见的Git命令操作都可以通过工作区域来解释. Git本地有四个 ...

  8. Git 版本管理工具命令速查

    转自:http://www.jb51.net/article/55442.htm 一. Git 常用命令速查 git branch 查看本地所有分支 git status 查看当前状态  git co ...

  9. Git 基础 —— 常用命令

    Git 基础学习系列 Git 基础 -- 安装 配置 别名 对象 Git 基础 -- 常用命令 Git 基础 -- 常见使用场景 Git基础 -- Github 的使用 git init 创建 Git ...

  10. 【git 整理提交】git rebase -i 命令详解

    git rebase -i 详解 官方文档 变基时可用的命令 变基时有六个命令可用: pick pick只是意味着包括提交.重新进行命令时,重新安排pick命令的顺序会更改提交的顺序.如果选择不包括提 ...

最新文章

  1. AES和TKIP的区别
  2. SQL Server数据库查询区分大小写、全半角——排序规则的应用(转载)
  3. vue 字典配置_vue遍历数据及字典的方法
  4. python跨平台处理绝对路径和相对路径,open,with
  5. 常见掌握类库与工具体系图 艾提拉总结 Atitit 文档资料处理重要类库与工具体系树 Configuration yml xml jsoup  Net apache commons net
  6. 串口总线舵机之舵机运行
  7. 怎么给图片批量加边框
  8. 代码坏的味道21:被拒绝的遗赠 (Refused Bequest)
  9. 用pyecharts生成仪表盘——将多张图片汇总到一个页面,大屏可视化数据展示
  10. a1708硬盘转接口_macbook pro2017 a1708转接卡更换大容量硬盘,Apple/苹果笔记本电脑_好文分享_优购 - 荐优,购适...
  11. MongoDB LBS经纬度查询操作
  12. 如何使用python进行等额本金-等额本息贷款计算
  13. 人工神经网络课后题答案,人工神经网络原理答案
  14. 希腊字母常用指代意义及其中英文读音
  15. Java学习(4)—— 布尔类型、基本数据类型转换、基本数据类型和String类型的转换
  16. 计算机毕业设计django基于python学校在线打印系统
  17. 【云扩RPA】HowToEmailAutomation
  18. (创建型)设计模式——工厂模式(factory)
  19. 什么是期权?期权案例说明
  20. linux驱动开发学习2 设备树

热门文章

  1. 【运筹学】线性规划数学模型 ( 单纯形法 | 最优解判定原则 | 可行解表示 | 目标函数推导 | 目标函数最大值分析 )
  2. websocket趣说_转
  3. AtCoder Grand Contest 013D: Piling Up 题解
  4. 微信公众号中的消息类型
  5. Nginx 实现 IP+项目名 访问
  6. BZOJ-1045 糖果传递 数学+递推
  7. 【收藏】Oracle存储过程读写文件
  8. WIN server 2003 下无法安装adobe cs3 终极解决方法。
  9. OS中阻塞与挂起的区别sleep()的实现原理
  10. 微信小程序星级评分和展示