git push -f origin master和git push origin master --force之间的区别?

时间:2015-07-10 03:48:46

标签: git github version-control push

今天,我尝试使用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之后,它有效。为什么以及如何与众不同?谢谢。

1 个答案:

答案 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相同,因为分支名称相同。

如果您有一个访问错误但没有另一个访问错误,您可能没有使用正确的凭据。

https://git-scm.com/docs/git-push