如何从git分支中删除文件
我将一个文件提交到分支机构,即如何从git分支中删除文件,git,github,repository,Git,Github,Repository,我将一个文件提交到分支机构,即abc,但没有推送到存储库。现在我想从这个分支中删除它abc。我怎样才能做到这一点呢?我假设您想从历史中删除该文件,就好像它从未存在过一样。如果您只是想在以后的提交中删除该文件,那么请使用git rm my bad file.txt忽略我的其余答案 如果文件仅在最近的提交中,则最简单的方法是使用git rm my bad file.txt删除该文件,然后使用git commit--amend编辑以前的提交 如果有多个提交包含有问题的文件,那么可能会很有用 git
abc
,但没有推送到存储库。现在我想从这个分支中删除它abc
。我怎样才能做到这一点呢?我假设您想从历史中删除该文件,就好像它从未存在过一样。如果您只是想在以后的提交中删除该文件,那么请使用git rm my bad file.txt
忽略我的其余答案
如果文件仅在最近的提交中,则最简单的方法是使用
git rm my bad file.txt
删除该文件,然后使用git commit--amend
编辑以前的提交
如果有多个提交包含有问题的文件,那么可能会很有用
git filter-branch --index-filter 'git rm --cached --ignore-unmatch my-bad-file.txt' master..abc
这意味着:
:让我们重写一些提交git过滤器分支
:更改每个提交的索引,而不实际在磁盘上签出它--index filter
:对于每次提交,如果存在名为“my bad file.txt”的文件,请将其解压缩'git rm--cached--ignore unmatch my bad file.txt'
:对分支abc上的所有提交执行此操作,并将其返回到从主分支分叉的位置master..abc
git签出主控
,git合并
。如果你对此有疑问,请作为新问题提问。