无法在git重置后将恢复的文件推送到存储库

注 - 我是理解git reset命令的新手,所以我不确定它是否是我想要做的正确命令,这非常简单。

我想撤销上次git push所做的更改。 所以,我运行了下面的reset命令返回所需的提交哈希(一个在不需要的提交哈希之前) -

git reset <last desired commit hash> <file name>

在此之后,文件没有改变(工作目录)。 但是, git status显示该文件已被修改。

 modified:   <filename>

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


你可以用你的方法解决你的疑惑。

  • git reset <last desired commit hash> <file name> 。 这会将你想要的文件( <file name> )恢复到<last desired commit>指定的版本中。 你仍然会留在当前的分支。

  • 如果您指定的文件与您恢复的版本之间存在任何差异,那么在执行先前的命令后不久,应该会出现这种类型的文本。 Unstaged changes after reset: M <file name>

  • 您可以通过以下命令验证它。 git diff <file name> 。 然后它会显示发生的变化。

  • git stash将删除任何未分阶段的提交。 所以很显然,在git stash您不能提交或推送,因为没有任何更改。 而且git pull也不行。 原因是你的本地分支不会落后于git reset提交。 所以它有远程分支中的所有提交。 所以没有新的提交被git pull

  • 你可以尝试以下。 git stash apply 。 所以你的文件将再次进入最后期望的提交状态。 通过git diff <file name>验证更改。 然后提交并推送。

  • 如果您检查差异时您的预期更改不存在,则问题应该与其他一些事情相关,而不是版本控制。 :))

  • 链接地址: http://www.djcxy.com/p/49801.html

    上一篇: Unable to push reverted file to repository after git reset

    下一篇: Can I go back once I have merged a branch to the master on Github?