【发布时间】:2017-02-08 08:16:11
【问题描述】:
注意 - 我刚开始了解 git reset 命令,所以我不确定它是否是我想做的正确命令,这很简单。
我想撤消上一次 git push 中所做的更改。 因此,我运行了以下重置命令以返回所需的提交哈希(在不需要的提交哈希之前的一个)-
git reset <last desired commit hash> <file name>
在此之后,文件本身(工作目录)没有任何更改。但是,git status 表明该文件已被修改。
modified: <filename>
现在在做git stash 时,工作目录文件被修改了。但是,我没有看到将更改推送到远程存储库的选项。 Git pull 也显示没有任何变化。
【问题讨论】:
-
(1) 它可能不是正确的命令,至少,不像使用的那样。 (2) 可能的重复包括stackoverflow.com/q/927358/1256452 和stackoverflow.com/q/2318777/1256452 (3) 推送中不进行更改;在工作树中进行更改,然后通过
git add和git commit作为新快照提交。 -
git stash将隐藏您的更改,因此它们将无法推送。在git stash之前,文件上diff的结果是什么? -
@thebluefox
diff在工作目录上使用 UI 工具在左侧显示所需的版本,在右侧显示不需要的版本。在采取了新的pull之后,我终于做了以下事情 - git reset --hardgit push -f 这已删除完全来自提交日志的不需要的提交。 -
@SandeepanNath 你得到了你期望的答案?? :))