实际问题:
在本地 master 分支上做了一个commit ( 38361a68138140827b31b72f8bbfd88b3705d77a
) , 如何把它放到 本地 old_cc 分支上?
办法之一: 使用 cherry-pick. 根据git 文档:
Apply the changes introduced by some existing commits
就是对已经存在的commit 进行apply (可以理解为再次提交)
简单用法:
git cherry-pick <commit id>
例如:
$ git checkout old_cc
$ git cherry-pick 38361a68
# 这个 38361a68
号码,位于:
$ git log
commit 38361a68138140827b31b72f8bbfd88b3705d77a
Author: Siwei Shen <siwei.shen@focusbeijing.com>
Date: Sat Dec 10 00:09:44 2011 +0800
1. 如果顺利,就会正常提交。结果:
Finished one cherry-pick.
# On branch old_cc
# Your branch is ahead of 'origin/old_cc' by 3 commits.
2. 如果在cherry-pick 的过程中出现了冲突
Automatic cherry-pick failed. After resolving the conflicts,
mark the corrected paths with 'git add <paths>' or 'git rm <paths>'
and commit the result with:
git commit -c 15a2b6c61927e5aed6718de89ad9dafba939a90b
就跟普通的冲突一样,手工解决:
2.1 $ git status # 看哪些文件出现冲突
both modified: app/models/user.rb
2.2 $ vim app/models/user.rb # 手动解决它。
2.3 $ git add app/models/user.rb
2.4 git commit -c <新的commit号码>
分享到:
相关推荐
git视频教程.8.1.Git 命令 - git cherry-pick.mp4 git视频教程.8.2.Git 命令 - git rebase.mp4 git视频教程.8.3.Git 命令 - git rebase.mp4 git视频教程.8.4.Git 命令 - git revert.mp4 git视频教程.9.Git 命令 - ...
如果您的cherry-pick 命令在复制命令中指定的提交之一时失败(例如,发生冲突时),您可以使用以下命令稍后继续/退出/中止下一个目标提交。 git cherry-pick --continue git cherry-pick --quit git cherry-pick -...
commit-graph files now, which allows the commit-graph files to be updated incrementally. * "git range-diff" output has been tweaked for easier identification of which part of what file the patch ...
2.4.1 修改最后一次提交 . . . . . . . . . . . . . . . . . . . . . . 29 2.4.2 取消已经暂存的文件 . . . . . . . . . . . . . . . . . . . . . 30 2.4.3 取消对文件的修改 . . . . . . . . . . . . . . . . . . ....
cherry-pick : 精心挑选,挑选一个我们需要的 commit 进行操作。它可以用于将在==其他分支==上的 commit 移植到==当前的分支==。
*“git cherry-pick / revert”学会了一个新的“--skip”动作。 *来自备用对象库的引用提示可用作 现在可达性计算的起点。 *“git status”输出中的额外空行已减少。 *存储库中的提交可以用多个来描述 现在...
在使用 Git 命令(例如 rebase、cherry-pick 等)时,存储您需要的[Commit ID]是一个有用的 CLI。 :rocket: 如何使用 :fire: 安装$ npm install -g commit-pocket :person_juggling: 入门$ commit-pocket :backpack...
注释的Git会话 用于向Git引入新手的一些基本思想。 这是一种糟糕的静态版本,它坐在使用Git的人旁边,告诉那些人在做什么时,他们在做什么,对于... git cherry-pick git commit git diff git fetch (提到了git pu
安装npm install mmp-cli -gAPI初始化配置 mmp init查看配置mmp ls提交当前分支到[可选分支] mmp ci [master]cherry-pick某几条提交到某分支# commit_id 是左开右开的mmp cp [commit_start_id] commit_end_id master...
m " message "$ git checkout main //go to main to fetch this commit 从工作分支到主分支的提货提交$ git reflog //copy your commit ID$ git cherry-pick ID //paste the ID 推送请求之前,请更新本地文件夹$ git...
熟悉的git命令的小伙伴对于git添加,git pull,git push,git commit,git checkout命令应该不陌生生,大家有没有发现每一个命令我必须输入git +命令,好麻烦啊,此项目正式为了解决这个问题,git add改成成对,git ...
1.基础命令(add、commit、pull、push等); 2.分支操作(branch、checkout、cherry-pick、rebase等); 3.回滚与重做(reset、revert等); 4.日志(log、reflog、blame等)。
Eclipse Git用户指南 目录 1 Getting Started 1.1 Overview 1.2 Basic Tutorial: Adding a project to version control 1.2.1 Configuration 1.2.1.1 Identifying yourself 1.2.1.2 Setting up the Home ...
第一步-使用git log查看提交哈希 第二步-使用git cherry-pick d33c8d1移动到该提交 第三步-遇到合并冲突 第四步-接受代码中的传入更改第五步-使用git add和git commit进行更改第六步-精心挑选的变更完成 取消登台...
毛豆 Magit for VSCode,其灵感来自令人敬畏的原始 。 ••• • 键盘驱动的Git界面 大块的演出 (主题:) 用法 VSCode命令 默认快捷方式 ... > Magit命令面板中的Magit将... A Cherry-pick b Branch c Commit d Diff