我使用Xcode 9.2和bitbucket进行版本控制。我在主分公司工作了4-5个小时。我现在意识到我想保留我今天所做的工作,但不是主分支的一部分,而是作为一个新的分支。
我已经能够将现有版本推送到新分支,但它要求我先提交(本地)。
现在我想将主服务器恢复为昨天的版本,并在主服务器上提交。这就是问题发生的地方。我可以通过checkout提交恢复到之前提交的版本 - 但是我不再在master分支上了,而且我不能提交master或push to master。
如何将主页恢复为以前的版本,并基本删除过去4-5小时内完成的更改?
答案 0 :(得分:2)
下次你在提交之前意识到:
git stash
命令git stash apply
由于我很困惑,我不时会遇到这种情况,我在.bash_profile
文件中创建了别名,只需在终端中输入一个命令即可删除本地提交:
alias fixFuckup="git reset HEAD~1"
只需运行命令,您将重置为提交前的状态。实际上这会重置一个提交。
git reset HEAD~1
要重置到执行大量提交之前的状态,请更喜欢使用它。
git reset --hard HEAD^
为了澄清这些变化,请进一步了解:
what is difference between 'git reset --hard HEAD~1' and 'git reset --soft HEAD~1'?