Git回滚到之前未被推送的提交

时间:2013-11-28 18:14:37

标签: git bitbucket

我在本地存储库的分支test中进行了一些更改,我想将这些更改推送到新的分支check。这就是我所做的:

git branch check
git add -A
git commit -m "Made some changes"
# [test 0cda02c] Made some changes
git push origin check
git checkout check

这创建了一个提交,但是我对check分支的推送只是从master创建了一个新的分支。它实际上没有推动我的提交。然后,当我git checkout check时,它将我的本地仓库还原为分支check,这只是主副本。

当我在分支test上进行提交时,是否有可能回到原来的位置,从那里我怎样才能将其推送到check分支?

修改

git checkout 0cda02c让我回到我之前提交的具有我需要的代码的提交。但是,现在我处于“独立的HEAD”状态(HEAD is now at 0cda02c)。如何将当前代码推送到check分支?

git push origin check只返回“一切都是最新的”。

1 个答案:

答案 0 :(得分:1)

当您执行git branch check时,刚创建新分支而未实际检出。然后你的提交进入test分支。

您需要做的就是将test上的更改合并到check中。这应该是一个快速合并。

git checkout check
git merge test

现在,更改也应该在check上,您可以推送它们。