git push -f origin master和git push origin master之间的区别--force?
今天,我试图使用git filter-branch
永久删除所有提交中的文件。之后,我需要明确强制推送,以确保所有协作者都可以在没有此文件的情况下访问存储库。git push -f origin master和git push origin master之间的区别--force?
所以,我试着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
后,它的工作。为什么以及这有什么不同?谢谢。
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
相同。
如果您遇到了访问错误,但没有访问其他错误,那么您可能没有使用正确的凭据。
我已更新我的问题更详细的信息 - 遗憾的是不包括此前。 – Hunle
我同意他可能使用了错误的凭证。 –
您是否对'branch-name'或'master'进行了更改?你的问题不清楚。 –
我对主分支以外的分支进行了更改。由于'master'是一个分支,我试图通过使用'branch-name'来使问题更一般化。如果这改变了这个问题的答案,那么很抱歉不清楚。 – Hunle