我们共享一个名为 build.sh 的构建文件,该文件在特定路径中创建二进制文件。由于许多开发人员经常更改本地环境中此 build.sh 文件中的路径,并忘记将其改回(我们希望保留远程分支上 build.sh 文件中的默认构建路径),因此,最好发出一个警告,告知必须强制推送才能将此文件推送到远程分支。(有时,但并不经常,我们确实必须更改该文件)
.gitignore 不是一个选项,因为该文件已经存在于存储库中。
我们使用 bitbucket。全局解决方案比在本地更改 git 设置更好。
有什么想法吗?
告诉开发人员不要使用单独的路径肯定会有所帮助,但人们往往不会坚持这样做。
build.sh 是一个 shell 脚本,因此让它从单独的文件加载配置:
或来自用户
~/.build.config
或类似用户。现在开发人员可以使用单独的路径,而不必担心主脚本的更改。您可以设置预接收钩子。它将拒绝
build.sh
已修改的推送,除非它是明确允许的提交这是有关预接收挂钩的 Bitbucket 官方文档。
您还可以设置特定的关键字,例如
[ALLOW_BUILD_CHANGE]
允许更改受保护的文件:请注意,此解决方案适用于 BitBucket Server 和 DataCenter
您可以为本地环境创建一个 .env 文件,为生产环境创建一个 .env-prod 文件。
.env 应该在 .gitignore 中,这意味着将其从存储库中取出,因此人们在其本地环境中将设置自己的值,并且不会因其他人推送冲突的设置而遇到麻烦。
并且仅当有此意图时才应设置 .env-prod。
当然,避免对敏感信息进行版本控制,因为如果您这样做,它将和所有访问它的人一样安全,包括 bitbucket 和在那里工作的任何人以及他们的脚本......