例如, 想要删除一个叫做 Rakefile 的文件, 请在相应 repository 顶层输入一下命令:

git filter-branch --force --index-filter \
'git rm --cached --ignore-unmatch Rakefile' \
--prune-empty --tag-name-filter cat -- --all

其中 Rakefile 需要给出完整的路径地址. 之后你本地的 .git 信息中就再也不包含 Rakefile 的信息了.

之后, 你需要把本地仓库 pushGithub, 此时输入:

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
Write a Comment