Git 强制推送到公共远程分支是否安全?
我对本地功能分支进行了一些提交,并决定将其推送到公共存储库中,仅用于备份目的。重新设定某些提交的基础并强制(使用租约?)将其推送到公共存储库是否安全?在这种情况下,我是唯一一个在该分支上工作的人,但当有更多的人在该分支上工作时,是否仍然可以强制推送?简而言之: 不要这样做。没有先讨论过就不行。 如果Git告诉您它不会接受您的推送,因为ref没有排队,那么Git就是通过尝试保护存储库的完整性来完成它的工作 也就是说,如果您在本地分支上有Git不同意的历史记录,Git将不会接受 一旦您强制推送该分支,Git就会假定您知道自己在做什么,并允许您推送该分支 这对使用分支机构的任何其他人都有不利影响:Git 强制推送到公共远程分支是否安全?,git,Git,我对本地功能分支进行了一些提交,并决定将其推送到公共存储库中,仅用于备份目的。重新设定某些提交的基础并强制(使用租约?)将其推送到公共存储库是否安全?在这种情况下,我是唯一一个在该分支上工作的人,但当有更多的人在该分支上工作时,是否仍然可以强制推送?简而言之: 不要这样做。没有先讨论过就不行。 如果Git告诉您它不会接受您的推送,因为ref没有排队,那么Git就是通过尝试保护存储库的完整性来完成它的工作 也就是说,如果您在本地分支上有Git不同意的历史记录,Git将不会接受 一旦您强制推送该分支
- 历史已经被重写,所以当他们试图获得新的工作或试图整合上游的工作时,他们必须重写自己的本地历史以匹配上游
- 提交可能会以这种方式丢失。因为您正在用一个重基重写历史,所以这是一个很有可能发生的场景
- 如果没有任何事先的沟通,您将在维护人员中造成混乱,这将导致开发速度减慢
Ps:是的,如果你想强迫别人做什么,总是用“--force with lease”来做,以防止失去你没有看到的其他人的历史 您已经推送的所有内容都应该被视为不可变的,因为可能有同事已经在其本地存储库中推送了它。