Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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_Github - Fatal编程技术网

Git 如何停止将删除的文件推送到远程回购?

Git 如何停止将删除的文件推送到远程回购?,git,github,Git,Github,我提交了一些文件,并试图将它们推送到远程存储库。 然而,我在列表中发现了一个大的视频文件并终止了推送。 然后我尝试从列表中删除该文件并再次按下 $git commit -m "comments" -a $git push origin my_branch ... # I found mp4 file here and terminated push $git rm --cached path/to/mp4 $git commit -m "comments" -a $git push origin

我提交了一些文件,并试图将它们推送到远程存储库。 然而,我在列表中发现了一个大的视频文件并终止了推送。 然后我尝试从列表中删除该文件并再次按下

$git commit -m "comments" -a
$git push origin my_branch
... # I found mp4 file here and terminated push
$git rm --cached path/to/mp4
$git commit -m "comments" -a
$git push origin my_branch 
问题
git仍然试图将mp4文件推送到repo

问题 如何避免删除的文件推送到远程回购

PS

我还尝试了
git rm path/to/mp4
,该文件已从我的目录中删除,但git仍尝试通过这些命令将该文件推送到repo

,看起来视频文件仍在提交历史记录中

假设您没有进行其他提交,请尝试以下操作。如果你只是稍微调整一下

尝试还原到上一次提交

git reset --soft HEAD~1
然后检查git状态,看看是否看到该文件

如果你愿意的话。然后移除它,并用

git commit -c ORIG_HEAD

如果历史大于一个提交,并且MP4大文件已在旧提交中被版本化,则可以考虑用“

”清理您的回购版本的历史记录。
  • (as)
  • 或者

使用git-gc--aggressive--prune=now(as)进行清理


要“回滚”,只需在当前本地repo的本地克隆上尝试这些操作(即第二个本地repo,第一个本地repo的克隆)。如果最终结果不好,您可以在第一次(未触及的)回购中恢复。

谢谢,在我尝试解决方案之前,我是否可以知道解决方案将回滚我的更改?重置--在您提交之前,soft不应回滚任何内容。它会将您返回到提交之前的状态。提交中的所有更改都将显示在暂存区域中。如果您不确定,只需在另一个文件夹中初始化git repo并进行实验。或者创建一个新分支并在那里尝试该命令。即使出了问题,reflog也是您的朋友使用git-rm执行git签出删除文件并再次推送文件。这将确保删除该文件。
bfg --strip-blobs-bigger-than 1M  my-repo.git