Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git:如何从分支中删除特定的提交_Git - Fatal编程技术网

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

Git:如何从分支中删除特定的提交,git,Git,我有两个分支,即硕士和发展。 所有的开发都将在开发部门内完成,并将与master合并进行构建 我签出了masterbranch,cherry选择了属于开发分支的5个提交,并将其推送到master远程存储库 所有这些事情都进展顺利 git checkout master git status git cherry-pick a7644fc2bc7b09fe88cb1cbb75e0547dd1d7321d git cherry-pick 335bf121a6aa7bc1e334b94d1a742b

我有两个分支,即硕士和发展。 所有的开发都将在开发部门内完成,并将与master合并进行构建

我签出了masterbranch,cherry选择了属于开发分支的5个提交,并将其推送到master远程存储库

所有这些事情都进展顺利

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
现在我的要求是,我需要删除一个樱桃从主采摘做建设

我不确定,但当我在谷歌上搜索时,我发现了这两个命令

git revert --strategy resolve

git rebase 
请告诉我如何从主分支中删除特定提交

更新部分

当我做git还原564d01c3870ca5a55b171fc6f061e0cc2a8f4879时,出现了这个屏幕,我可以避免这个吗

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


如果您只推送到受控存储库,并且您肯定知道没有人从中取出,那么您可以执行一些
git reset--hard^
,然后重新选择您真正想要的提交。但不建议这样做。

非常感谢,但当我使用git revert comitid时,出现了一个nano屏幕,我可以避免该屏幕吗?nano屏幕与提交时的屏幕相同,即它会提示您输入提交消息,因为您实际上是在创建一个提交,该提交会还原以前的提交。您可以使用
git revert--no edit
来阻止屏幕,但这只会使用您以前看到的消息,而不会给您编辑它的机会。