git重置后无法将还原的文件推送到存储库

git重置后无法将还原的文件推送到存储库,git,git-reset,Git,Git Reset,注意-我对git reset命令还不太了解,所以我不确定它是否适合我想要做的事情,这非常简单 我想撤销上次git推送中所做的更改。 因此,我运行下面的reset命令返回到所需的提交散列(在不需要的提交散列之前)—— 现在执行git stash时,工作目录文件被修改。但是,我看不到将更改推送到远程存储库的选项。Git pull也没有显示任何变化。您可以用它解决您的方法中的疑问 git重置。这将把您想要的文件()恢复到指定的版本。你仍然会留在现在的分部 如果指定的文件的版本与还原的版本有任何差异,

注意-我对git reset命令还不太了解,所以我不确定它是否适合我想要做的事情,这非常简单

我想撤销上次git推送中所做的更改。 因此,我运行下面的reset命令返回到所需的提交散列(在不需要的提交散列之前)——


现在执行
git stash
时,工作目录文件被修改。但是,我看不到将更改推送到远程存储库的选项。Git pull也没有显示任何变化。

您可以用它解决您的方法中的疑问

  • git重置
    。这将把您想要的文件(
    )恢复到
    指定的版本。你仍然会留在现在的分部

  • 如果指定的文件的版本与还原的版本有任何差异,则在执行上一个命令后不久,应显示此类文本。
    重置后未老化的更改:
    M

  • 您可以通过以下命令进行验证<代码>git diff。然后它将显示发生的更改

  • git stash
    将删除任何未暂存的提交。因此,显然在
    git stash
    之后,您无法提交或推送,因为没有任何更改。而且,
    git pull
    也不起作用。原因是您的本地分支不会延迟git reset的提交。因此,它拥有远程分支中的所有提交。因此,
    git-pull
    不会提取新的提交

  • 你可以试试下面的。是否应用
    git stash
    。因此,您的文件将再次进入上次所需提交的状态。通过
    git diff
    验证更改。然后提交并推送

  • 如果您在检查差异时预期的更改不存在,那么问题应该出在其他方面,而不是版本控制。:)


(1)它可能不是正确的命令,至少在使用时不是这样。(2) 可能的重复包括和(3)未在推送中进行更改;更改是在工作树中进行的,然后通过
git add
提交为新快照,而
git commit
git stash
将隐藏您的更改,因此无法推送这些更改。在
git stash
之前,文件上的
diff
的结果是什么?使用UI工具在工作目录上的@thebluefox的副本
diff
在左侧显示所需版本,在右侧显示不需要的版本。在进行了一次新的
拉操作
-git重置之后,我最终执行了以下操作--git硬推-f这将从提交日志中完全删除不需要的提交。@sandePanath您得到了您期望的答案??)
git reset <last desired commit hash> <file name>
 modified:   <filename>