实际问题:
在本地 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的`cherry-pick`命令是开发人员的利器,特别是在需要从一个分支选择特定的改动并应用到另一个分支时。这个命令允许你挑选出一个或多个commit,并将其合并到当前工作分支,而不必合并整个分支的历史记录。下面将...
在使用Git时,开发者会接触到一系列命令,如`git init`用来初始化一个新的Git仓库,`git clone`用于复制远程仓库,`git add`用于将更改添加到暂存区,`git commit`用于保存暂存区的更改到本地仓库,`git push`则用于...
在 Git 的众多功能中,`cherry-pick` 是一个非常有用的命令,它允许我们将一个或多个提交从一个分支应用到另一个分支,这对于在不同分支间复用特定修复或功能非常有用。本篇将详细介绍 `git cherry-pick` 的基本用法...
1. 分布式:Git的每个克隆都是一个完整的代码库,包含所有历史记录和分支。这意味着开发者可以在本地进行所有操作,无需连接到中央服务器,提高了工作效率。 2. 快速:Git设计时注重性能,能够处理大型项目中的大量...
- ** cherry-pick**:将一个分支的特定提交应用到另一个分支。 - **rebase**:平滑分支历史,将本地提交重新基于最新的上游分支。 6. **Git命令行技巧**: - `git status`查看工作区和暂存区的状态。 - `git ...
除了基本操作,Git还支持更高级的特性,例如交互式重置(`git reset --interactive`)、 cherry-pick(选择特定提交应用到其他分支)、rerere(用于解决冲突的自动记录和重用)等。了解并熟练掌握这些特性可以极大地...
3. **Cherry-pick**:`git cherry-pick`可以将某个特定的提交应用到其他分支,用于共享或复制功能。 4. **Submodule**:Git的子模块功能允许你在项目中嵌入其他Git仓库,便于管理依赖的项目。 以上就是关于Git-...
Git是当今最流行的分布式版本控制系统,它被广泛用于软件开发,尤其是开源项目。...随着熟练程度的提高,开发者还可以掌握更高级的技巧,如`git rebase`、`git cherry-pick`和`git stash`等,以提升工作效率。
在开发过程中,Git还提供了诸如`git rebase`(平滑分支历史)、`git stash`(暂存未提交的更改)和`git cherry-pick`(选取特定提交应用到其他分支)等高级功能,以满足各种复杂的版本控制需求。 总之,Git-2.42....
除了基本的命令,Git还提供了许多高级功能,如交互式暂存(`git add -i`)、 stash(用于暂存未完成的更改)、rebase(平滑地合并分支历史)和cherry-pick(从另一个分支挑选特定的提交应用到当前分支)等。...
除了基本命令,Git还提供了许多高级特性,如 stash(暂存未提交的更改)、rebase(平滑分支历史)、cherry-pick(选择性应用其他分支的提交)以及tag(标记特定版本)。这些工具帮助开发者更好地管理代码版本,尤其...
在实际开发中,理解并熟练运用这些基础命令,以及高级特性如分支、合并、重置、 cherry-pick等,将极大地提升团队协作效率。 总之,Git 2.28.0在CentOS 7上的安装可以通过离线或在线方式完成,无论哪种方法,都需要...
- **cherry-pick**:将某个提交应用到另一个分支。 - **reset**:回退到某个提交,可以改变当前分支的 HEAD 指向。 - **merge --no-ff**:不使用快速合并,保留合并提交的历史记录。 5. **在Windows上的Git**: ...
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 命令 - ...
1. 分布式:Git的每个克隆都是一个完整的仓库,包含所有历史版本,这使得离线工作和快速本地分支切换成为可能。 2. 强大的分支和合并:Git的分支模型鼓励频繁地创建和合并分支,简化了并行开发和代码审查过程。 3. ...
在日常开发中,Git的主要操作包括克隆(clone)仓库、拉取(pull)或推送(push)代码、提交(commit)更改、分支(branch)管理和合并(merge)。熟练掌握这些操作对于任何使用Git的开发者来说都是至关重要的。此外...
此外,Git还支持许多高级特性,如交互式暂存(`git add -i`)、rerere(解决冲突的重用已记录的决议)、cherry-pick(应用特定提交到另一个分支)等。Git的工作流程通常与敏捷开发方法论相结合,例如,开发者在自己...
- `git cherry-pick`:从一个分支挑选特定的提交应用到另一个分支。 - `git blame`:查看每一行代码是谁在何时修改的。 6. Git与GitHub、GitLab等平台的结合: - GitHub、GitLab等提供了基于Git的代码托管服务,...
cherry-pick,用于从一个分支挑选特定的提交应用到另一个分支;以及revert,用于撤销特定的提交。 安装"Git-2.31.1-64-bit.exe"后,用户可以通过图形用户界面(如GitHub Desktop)或命令行工具进行操作。命令行工具...
此外,Git还提供了许多高级功能,如重置(Reset)、检出(Checkout)、 cherry-pick、rebase等,用于解决复杂的代码冲突和历史调整。 在CSDN等平台上分享Git的安装包,可以帮助那些网络条件不佳或者找不到官方下载...