今天,我尝试使用git filter-branch
永久删除所有提交中的文件。之后,我显然需要强制推送,以确保所有协作者都可以访问没有此文件的存储库。
所以,我尝试了git push -f origin <branch-name>
,它给了我通常的“确保你有正确的访问权限”错误。
所以,我做了以下命令:
git push -f origin <branch-name>
git checkout <branch-name>
git push origin <branch-name>:<branch-name> --force
在git push origin master --force
之后,它有效。为什么以及如何与众不同?谢谢。
答案 0 :(得分:1)
git push -f <remote> <branch>
和git push --force <remote> <branch>
之间没有区别。 -f
只是--force
的缩写。
git checkout <branch-name>
结帐<branch-name>
。由于您要指定要推送的分支,因此它没有任何效果。
git push origin <branch-name>:<branch-name> --force
将您在本地<branch-name>
的提交推送到远程<branch-name>
。它与git push origin <branch-name> --force
相同,因为分支名称相同。
如果您有一个访问错误但没有另一个访问错误,您可能没有使用正确的凭据。