是否有方法恢复提交,以便我的本地副本保留该提交中所做的更改,但它们在我的工作副本中成为未提交的更改?回滚提交会将您带到上一次提交—我想保留所做的更改,但我将它们提交到了错误的分支。
这并没有被推动,只是被承诺了。
是否有方法恢复提交,以便我的本地副本保留该提交中所做的更改,但它们在我的工作副本中成为未提交的更改?回滚提交会将您带到上一次提交—我想保留所做的更改,但我将它们提交到了错误的分支。
这并没有被推动,只是被承诺了。
当前回答
对于这种情况:“这还没有被推送,只是提交了。”-如果你使用IntelliJ(或另一个JetBrains IDE),但你还没有推送更改,那么你可以做下一步。
转到版本控制窗口(Alt+9/Command+9)-“日志”选项卡。右键单击上次提交之前的提交。将当前分支重置为此处pick Soft(!!!)按下对话框窗口底部的重置按钮。
完成。
这将“取消提交”您的更改,并将您的git状态返回到上次本地提交之前的状态。您不会丢失所做的任何更改。
其他回答
请确保在单独的文件夹中运行这些命令之前备份您的更改
git签出分支名称
在分支机构结账
git merge—中止
中止合并
git状态
中止合并后检查代码的状态
git reset--硬原点/分支名称
这些命令将重置您的更改,并将代码与branchname(branch)代码对齐。
对我来说,大多数情况下,当我将更改推到错误的分支并在稍后实现时,就会发生这种情况。大多数情况下,以下内容都有效。
git revert commit-hash
git push
git checkout my-other-branch
git revert revert-commit-hash
git push
恢复提交(创建并)签出其他分支还原还原
2020简单方法:
git reset <commit_hash>
要保留的上次提交的提交哈希。
从2021起,谷歌同僚的最新更新。
如果您是VSCode用户,这里有一种现代的方法来撤消上次提交。
转到左侧的“源代码管理”选项卡(快捷键:Ctrl+Shift+G G)。按在circlish更新图标的左侧。请参阅下面的屏幕截图:导航到“提交”,然后导航到“撤消上次提交”。下面是一张截图:
它所做的只是恢复您的存储库,就像提交之前一样,您的更改保持不变。
对于这种情况:“这还没有被推送,只是提交了。”-如果你使用IntelliJ(或另一个JetBrains IDE),但你还没有推送更改,那么你可以做下一步。
转到版本控制窗口(Alt+9/Command+9)-“日志”选项卡。右键单击上次提交之前的提交。将当前分支重置为此处pick Soft(!!!)按下对话框窗口底部的重置按钮。
完成。
这将“取消提交”您的更改,并将您的git状态返回到上次本地提交之前的状态。您不会丢失所做的任何更改。