我做这样的事情:删除GIT中一个文件提交
1. git add .
2.git commit
从而commiting 200MB的视频文件,然后我试图通过删除视频文件并重复步骤1和2,以除去,但没有任何帮助的话,我试着用搜索引擎从而结束了与运行这三个命令
1.git add -u
2.git reset HEAD path/to/file
3.git commit
因此,我要在3日提交,仍无法推我的视频文件仍然在某处提交..我该怎么办摆脱这个混乱!
我做这样的事情:删除GIT中一个文件提交
1. git add .
2.git commit
从而commiting 200MB的视频文件,然后我试图通过删除视频文件并重复步骤1和2,以除去,但没有任何帮助的话,我试着用搜索引擎从而结束了与运行这三个命令
1.git add -u
2.git reset HEAD path/to/file
3.git commit
因此,我要在3日提交,仍无法推我的视频文件仍然在某处提交..我该怎么办摆脱这个混乱!
添加具有删除不利于视频文件的新提交,因为大文件将保留回购的一部分。 相反:
git reset <commit>
哪里commit
是添加视频文件前的一个。然后
echo <video-file-name> >> .gitignore
git add .
git commit
.gitignore
文件包含git完全忽略的文件列表。
嗯..会跳出巨大提交真正防止其推期间发送?我不知道这一点:/肯定的是,在“错误的承诺”依然会在当地的回购和大文件会依然坚守在历史。如我在评论中链接的问题所示,真正删除文件/提交可能是合理的。 – quetzalcoatl
复位大视频blob和后指犯下仍然会在回购,但他们将是无形的,因为没有裁判指向他们。他们也不会被推。随后的'git gc'会完全删除它们。 – SzG
让我解释一下为什么我认为这是一个重复的:如果你已经**犯**的大视频,他在当地的“工作”信息库,那么你的回购会记住它,即使它是迟来删除。那是因为'历史'会保留它,所以你总是可以回复。这是版本的问题,并承诺。自(非压扁)的一个承诺包含大文件的blob,你会被推出的是200MB,只是为了immediatelly标记为删除(因为它们是独立的变化!) 。所以,我认为除了'.gitignore'这个文件之外,他还必须完全从历史中删除它。 – quetzalcoatl