Git:我如何从分支中删除特定的提交

时间:2013-01-05 14:49:30

标签: git

我有两个不同的东西,即主人和发展。 所有开发都将在开发分支内完成,并将与master合并进行构建。

我检查了master分支,Cherry选择了属于开发分支的5个提交,并将其推送到主远程存储库。

所有这些都很顺利。

git checkout master 
git status
git cherry-pick a7644fc2bc7b09fe88cb1cbb75e0547dd1d7321d
git cherry-pick 335bf121a6aa7bc1e334b94d1a742b0f9ecfb9b6
git cherry-pick 5dee244a47d0346d5080ecd34984683c8f442c93
git cherry-pick 9f8fe22b346ba80089126afbf29ac063ea7b9b32
git cherry-pick 5dee244a47d0346d5080ecd34984683c8f442c9h
git push

现在我的要求是我需要从主人那里删除一个樱桃选择来进行构建。

我不确定,但当我用Google搜索时,我发现了这两个命令

git revert --strategy resolve

git rebase 

请告知主分会的how can i remove a particular commit

更新了部分

当我做了git revert 564d01c3870ca5a55b171fc6f061e0cc2a8f4879这个画面出现了,我可以避免这个吗?

enter image description here

1 个答案:

答案 0 :(得分:2)

使用git revert <commit>。如果您不希望弹出编辑器使用--no-edit选项。如果您不想实际提交还原,只需将其应用到您的工作目录,请使用--no-commit选项。

如果你只是推送到受控制的存储库并且你肯定知道没有人从中获取,那么你可以做一些git reset --hard <commit>^,然后重新选择你真正想要的提交。但这是推荐。