首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Git cherry-pick不能按预期工作

Git cherry-pick不能按预期工作
EN

Stack Overflow用户
提问于 2016-01-08 02:36:46
回答 2查看 347关注 0票数 0

这是我的问题。我在GitHub上做了回购。当repo上有更新时,我使用PR (更改基础)来更新我的fork。所以我的叉子显示了

代码语言:javascript
复制
This branch is xx commits ahead of xxx/xxx

然后我在我的fork上更改了一些文件。当我尝试发送给PR时,它包含了所有不必要的提交。(作为我更新我的分支的PR的结果)。因此,我使用cherry-pick来只使用新分支的最后一次提交。我的git命令是(branch-2是我添加提交的地方):

代码语言:javascript
复制
$ git branch feature origin/branch-2
$ git checkout feature
$ git cherry-pick branch-2

但是然后它选择了错误的提交(一些旧的提交)。命令中有什么错误吗?

所以我试着按SHA来挑选。然后它会给出fatal: bad object xxxx。我读到这是因为我的提交是损坏的。

我想清理我的分支,这样消息This branch is xx commits ahead of xxx/xxx就会消失。如果可以的话,我可以稍后添加最后一次提交。

请帮我弄一下这个。

EN

回答 2

Stack Overflow用户

发布于 2016-01-08 03:25:27

要删除消息"This branch is xx commits xxx/xxx",您需要做的就是删除远程跟踪分支xxx/xxx:

代码语言:javascript
复制
git branch -d -r xxx/xxx
票数 0
EN

Stack Overflow用户

发布于 2016-01-08 04:30:50

您在一个树枝上做了一个精挑细选,而不是在一个提交上

代码语言:javascript
复制
git cherry-pick branch-2

会发生什么?

git将branch-2转换为分支指向的提交,并将其用作要挑选的提交。

git cherry-pick master

在主分支的顶端应用由提交引入的更改,并使用此更改创建新的提交。

想要清理我的分支,这样这个分支是xx提交的消息就会在xxx/xxx之前消失。如果可以的话,我可以稍后添加最后一次提交。

代码语言:javascript
复制
# Discard the last X commits which your branch is ahead of
git reset HEAD~X
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34662673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档