Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 如何从分支中删除文件?_Git - Fatal编程技术网

Git 如何从分支中删除文件?

Git 如何从分支中删除文件?,git,Git,我不小心编辑了一些不需要的文件,并将它们推到Github 我想把它们恢复到master上的版本。我试过了 git签出--但这没有影响 有人知道该做什么吗?您需要(例如,@,这是上一次提交) 如果您没有提到以前的提交,git checkout会将文件恢复到索引中的当前状态。。。自从上次推送以来,您没有修改该文件,因此其索引与HEAD相同。这就是为什么您的git checkout什么也没做:没有区别 如果尚未按下,可以使用相同类型的命令还原到GitHub上的命令: git fetch git che

我不小心编辑了一些不需要的文件,并将它们推到Github

我想把它们恢复到master上的版本。我试过了

git签出--
但这没有影响

有人知道该做什么吗?

您需要(例如,
@
,这是上一次提交)

如果您没有提到以前的提交,
git checkout
会将文件恢复到索引中的当前状态。。。自从上次推送以来,您没有修改该文件,因此其索引与HEAD相同。这就是为什么您的
git checkout
什么也没做:没有区别

如果尚未按下,可以使用相同类型的命令还原到GitHub上的命令:

git fetch
git checkout origin/master -- myfile
git commit -m "reset file to origin/master"
git push

假设您也在Mistue/Cuff>分支,并且您刚才推的整个提交仅由错误编辑的文件组成,那么这里考虑的另一个选项是<代码> Git Reuts< /C> >:

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