git把另一分支的代码最近提交弄到另一分支上

要在Git中将一个分支的最近几个提交应用到另一个分支,你可以按照以下步骤操作:

  1. 检出目标分支(你想把提交合并到这个分支)。
  2. 创建一个新的分支来试验(可选),以防万一你搞砸了。
  3. 获取另一个分支的提交记录
  4. 选择需要的提交并应用到目标分支

具体步骤如下:

步骤 1: 检出目标分支

假设你的目标分支是 main,而你想要从中获取提交的分支是 feature

git checkout main

步骤 2: 创建一个新的分支来试验(可选)

如果你不想直接在 main 分支上做实验,可以创建一个新的分支:

git checkout -b experimental

步骤 3: 获取另一个分支的提交记录

查看 feature 分支的历史记录以找到你想要的最近几个提交的SHA哈希值。

git log --oneline feature

步骤 4: 应用提交

假设你想要应用 feature 分支上的最后三个提交。你需要找到这三个提交的SHA哈希值,然后用 cherry-pick 命令逐一应用它们。例如,如果三个提交的SHA分别为 abc123, def456, ghi789,那么你可以这样做:

git cherry-pick abc123
git cherry-pick def456
git cherry-pick ghi789

请注意,cherry-pick 可能会导致合并冲突,如果有冲突,你需要解决它们。

另一种方法:使用 merge 命令

另一种方法是直接合并 feature 分支到 main 或者你的实验分支,但是要指定一个浅层合并,这会合并从最近的公共祖先开始的所有更改。

git merge feature --no-commit --no-ff
git reset HEAD~3
git commit -m "Merge recent changes from feature"

这将合并 feature 分支到当前分支,并且不会快进合并,而是允许你在合并后重置到最近的几个提交前的状态,然后手动提交。

请根据你的具体需求选择合适的方法。如果只是简单的几个提交,cherry-pick 是比较直接的方式;如果涉及更多上下文或者更复杂的合并逻辑,可能需要使用 merge

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值