删除文件后如何撤消github中的更改



今天我(从IDE)提出了一个PR:在我推送的提交中,有3个文件被触摸。

现在我做了什么:我删除了GitHub中的一个文件,并创建了一个新的提交(更改的文件现在是2)。

你能帮我恢复/撤消对文件的删除吗?

(我是Git版本控制系统和GitHub.com的新手)

这就是我所理解的你所做的:
(即使你可能只通过GitHub.com GUI完成)

git add file1 file2 file3
git commit -m 'add files'
rm file1
git add file1
git commit -m 'removed unnecessary file'
git push origin master

现在您要恢复file1,对吗?

如果是,您可以通过:进行准备

  • git stash -u临时删除所有未提交的更改
  • git checkout master以确保您位于要将文件恢复到的同一分支中(也可以使用git loggit show HEAD查看您的最后提交)

然后…

…要实际恢复file1,您可以:

  • git revert HEAD并确认;这将创建一个新的提交,恢复上次提交(HEAD)带来的所有更改。这实际上类似于undo操作,将在Git历史记录中可见(再次参见git log)

  • 您可以从历史中的提交中仅签出(还原)特定的file1(HEAD是当前/最后一次提交,而HEAD^一次提交HEAD^^^3次提交;您可以使用git show HEAD^查看其更改)
    • git checkout HEAD^ -- file1以恢复文件(请参阅通过git diff创建的更改)
    • CCD_ 17&git commit -m 'restore the file that was wrongly removed',以便重新添加文件并重新提交
    • git push origin master --force-with-lease覆盖上一次提交
      • 小心:这是很难发现的尤其是当你对Git没有太多信心的时候。强制git push有可能永远抹去你在项目中所做的所有工作。因此,请避免此选项,并在将来再次检查。你也可以给我这个老问题一张支票

此外

我的印象是,您不清楚Git(一种通过控制台管理的协议和版本控制系统)和GitHub.com之间的区别(用于存储、管理和显示Git存储库的Microsoft在线门户)。

GitHub.com提供的接口非常有限,因此不能仅通过GitHub.com用户界面执行revert的操作。

不幸的是,您将不得不学习如何通过CLI(命令行界面)管理Git。这在一开始是痛苦的,但它是值得的努力(如果你是一个开发人员)
当您试图理解Git、它的命令和逻辑时,使用一个Git GUI客户端(请参阅此列表)可能会有很大帮助。

PS-不要忘记将此标记为最佳答案✅,如果这能澄清你的疑虑。

相关内容

  • 没有找到相关文章

最新更新