Git 如何从分支中删除文件?
我不小心编辑了一些不需要的文件,并将它们推到Github 我想把它们恢复到master上的版本。我试过了Git 如何从分支中删除文件?,git,Git,我不小心编辑了一些不需要的文件,并将它们推到Github 我想把它们恢复到master上的版本。我试过了 git签出--但这没有影响 有人知道该做什么吗?您需要(例如,@,这是上一次提交) 如果您没有提到以前的提交,git checkout会将文件恢复到索引中的当前状态。。。自从上次推送以来,您没有修改该文件,因此其索引与HEAD相同。这就是为什么您的git checkout什么也没做:没有区别 如果尚未按下,可以使用相同类型的命令还原到GitHub上的命令: git fetch git che
git签出--
但这没有影响
有人知道该做什么吗?您需要(例如,@
,这是上一次提交)
如果您没有提到以前的提交,git checkout
会将文件恢复到索引中的当前状态。。。自从上次推送以来,您没有修改该文件,因此其索引与HEAD相同。这就是为什么您的git checkout
什么也没做:没有区别
如果尚未按下,可以使用相同类型的命令还原到GitHub上的命令:
git fetch
git checkout origin/master -- myfile
git commit -m "reset file to origin/master"
git push
假设您也在
git revert HEAD
这将在master
上添加一个新的提交,该提交将撤消所有不正确的文件编辑。然后,您只需将此恢复提交推送到远程。git签出--
适用于未提交的更改。在您的情况下,更改已经提交。您需要执行以下操作
1) git reset HEAD~1
HEAD~1会让您返回一次提交。您可以将其更改为要撤消的提交次数
2) git签出--
3) git push origin-f
-f在这里是强制推动这些更改所必需的,因为git将抵制这些更改
将创建一个新的提交。如果您想清除提交历史记录,请使用此选项。为什么需要
git add代码>?我的理解是,当一个文件被签出时,它已经被添加到暂存中。@Akavall对,我在那里有点匆忙。修正了。@VonC谢谢。我已经做了几十次提交,所以可能很难找到合适的。有没有一种方法可以简单地从Master复制文件(除了查看Github上的Master分支并复制/粘贴文件内容之外)?@MeltingDog有。我已相应地编辑了答案。
git revert HEAD