例如, 想要删除一个叫做 Rakefile 的文件, 请在相应 repository
顶层输入一下命令:
git filter-branch --force --index-filter \
'git rm --cached --ignore-unmatch Rakefile' \
--prune-empty --tag-name-filter cat -- --all
其中 Rakefile 需要给出完整的路径地址. 之后你本地的 .git
信息中就再也不包含 Rakefile 的信息了.
之后, 你需要把本地仓库 push
到 Github
, 此时输入:
git push origin --force --all
这样便可以强行将仓库同步到远端. 此时你会发现本地文件夹并没有减小, 可以采取的办法是删除本地文件夹, 然后重新 clone
一次即可.
更换 Git
远程仓库:
git remote rm origin
git remote add origin git@github.com:Liutos/foobar.git
push
到远程仓库:
git push origin master
Comments