转到旧提交并将临时更改推送到远程

时间:2014-06-26 20:37:45

标签: git bitbucket smartgit

我有一个关于Bitbucket的回购,我们有一个特定的分支叫做#34; staging"当我们推送它时,它会自动更新我们服务器上的代码。

我需要提前返回10次提交,看看是否在最后一次提交中引入了错误。

在本地,尝试在我的暂存分支中git checkout <commit-sha>,我不得不创建一个新分支(我使用SmartGit)。然后我如何使用新分支进行分段,或者只是从分段本身恢复并推送到Bitbucket?

2 个答案:

答案 0 :(得分:0)

选项1:强制推送到分段分支

您可以通过从新分支强制推送来暂时硬重置遥控器上的暂存分支,这可以是一个选项,只要您与同事达成协议,这只是暂时的,并且他们应该不基于重置分段分支的新代码。

假设您创建的新分支名为X,您可以执行以下操作:

git push bitbucket X:staging -f

X:staging是&#34; refspec&#34;,表示&#34;取本地分支X,并将其内容推送到远程&#34;上的暂存分支。 -f当然是强制推动选项。

选项2:暂时还原登台分支上的最后10次提交

另一种选择是临时恢复最后10次提交,推送到您的暂存分支,然后在您完成测试时硬重置回原始状态,并强制推回原始状态。

您可以使用git revert还原提交。

答案 1 :(得分:0)

Bitbucket有一个内置的功能,虽然它以图形方式。转到回购并交换到相关分支。然后找到左边的按钮标记&#34;提交&#34;。从这里,您可以单击任何提交哈希值,它将显示该时间点的所有更改。如果您需要实际恢复到该点,可以使用git revert HEAD~<number of commits to revert>

相关问题