git filter-branch -f --index-filter 'git rm -r --cached --ignore-unmatch mysql_db' HEAD
这就是我正在做的删除mysql_db
,这很好。但现在我必须从我所有的标签中做到这一点。我怎样才能做到这一点?
git filter-branch -f --index-filter 'git rm -r --cached --ignore-unmatch mysql_db' HEAD
这就是我正在做的删除mysql_db
,这很好。但现在我必须从我所有的标签中做到这一点。我怎样才能做到这一点?
您还必须重写标记名(然后它们将指向重写的提交):
git filter-branch -f \
--index-filter 'git rm -r --cached --ignore-unmatch mysql_db' \
--tag-name-filter 'cat' -- --all
用于--all
重写所有提交,而不仅仅是那些可从当前提交访问的HEAD
提交。
--tag-name-filter
[…]
原有标签不会被删除,但可以被覆盖;使用“--tag-name-filter cat”来简单地更新标签。在这种情况下,请务必小心并确保备份旧标签,以防转换发生冲突。