Git樱桃选择没有按预期工作

时间:2016-01-07 18:36:46

标签: git github

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

This branch is xx commits ahead of xxx/xxx

然后我改变了我叉子上的一些文件。当我尝试发送到PR时,它包括所有不必要的提交。 (由于PR我更新了我的叉子)。因此,我使用cherry-pick仅使用新分支进行最后一次提交。我的git命令是(branch-2是我添加提交的地方):

$ 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消失了。如果可以的话,我可以稍后添加最后一次提交。

请帮助我。

2 个答案:

答案 0 :(得分:0)

要删除消息“此分支是xx在xxx / xxx之前提交”,您需要做的就是删除远程跟踪分支xxx / xxx:

git branch -d -r xxx/xxx

答案 1 :(得分:0)

你在一个分支上做了一个樱桃选择而不是一次提交

git cherry-pick branch-2

会发生什么?

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

git cherry-pick master

  

在master分支的顶端应用commit提交的更改,并使用此更改创建一个新的提交。

  

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

# Discard the last X commits which your branch is ahead of
git reset HEAD~X