Git - 如何撤消在错误的本地分支中的提交?

标签 git

我的 Git 设置是这样的,我在本地“功能”分支中工作,并在工作时向该分支提交更改。当代码准备好后,我 merge 到我本地的“开发”分支。然后,我将本地“开发”分支中的更改推送到远程“开发”分支。

我对一个文件进行了一些更改并提交了它们,但没有意识到我是在我本地的“开发”分支而不是我的“功能”分支上。在将“develop”分支推送到远程“develop”分支之前,我意识到了我的错误,因此更改保留在本地。

如何撤消对本地“开发”分支的提交?我正在使用 Tortoise Git,但如果需要我仍然可以使用 Git 命令行。

注意:这不是我第一次提交功能分支或第一次 merge 到开发分支。

最佳答案

有几种方法可以解决这个问题。一种方法是 cherry-pick在你的 feature 上的提交分支。那么reset你的develop分支到上一个提交。

  1. git checkout feature
  2. git cherry-pick <commit hash>
  3. git checkout develop
  4. git reset --hard HEAD~1

关于Git - 如何撤消在错误的本地分支中的提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54952692/

相关文章:

git - 锁定分支但允许 gitlab merge 请求

Git 还原所有被 git diff -w 忽略的更改

git - 有没有办法从GitHub上已删除分支的PR中获取代码?

git - 从 git svn clone 中排除文件

git - Git 中关于单个文件的不一致信息(日志与差异)

Git 后提交 : skip --amend and rebase

java - 将构建和提交哈希添加到 list

Git 错误 : object xxxx: hasDot: contains '.'

git - 找不到 Composer 包

git - 从一台计算机管理多个 github 帐户