我如何允许某些git提交到分支,但防止它们合并到master中?

我如何允许某些git提交到分支,但防止它们合并到master中?,git,git-merge,githooks,Git,Git Merge,Githooks,有时,我会进行分支来编写一个特性,但需要一个初始的本地提交,该提交以某种方式调整某些文件,以便我在本地工作。这些更改不会合并回master,因此当分支准备就绪时,我会重新设置它的基础并删除初始提交,它通常以日志消息“DONT MERGE”开始。但我还是时不时地设法将它合并到master中 通过GitHooks文件夹查看,我看到了提交前/提交后的钩子,但似乎没有什么适合合并的。这些钩子中有没有一个能够在合并之前查看提交?我想让它在我的机器上本地工作,所以我不想寻找涉及推送到GitHub或Bitbu

有时,我会进行分支来编写一个特性,但需要一个初始的本地提交,该提交以某种方式调整某些文件,以便我在本地工作。这些更改不会合并回master,因此当分支准备就绪时,我会重新设置它的基础并删除初始提交,它通常以日志消息“DONT MERGE”开始。但我还是时不时地设法将它合并到master中


通过GitHooks文件夹查看,我看到了提交前/提交后的钩子,但似乎没有什么适合合并的。这些钩子中有没有一个能够在合并之前查看提交?我想让它在我的机器上本地工作,所以我不想寻找涉及推送到GitHub或Bitbucket等外部服务器的解决方案。

我建议@Lasse的评论作为答案:

听起来您希望为本地和生产开发提供不同的配置,在这种情况下,您应该考虑使用一个配置文件,该文件被您在本地更改的git忽略。您可以提交实际未使用的不同示例配置文件,这样就不必记住所有细节。例如:

config.txt
configProductionExample.txt
configLocalDevExample.txt
startProduction.sh
startLocalDev.sh
或者,您可以提交多个启动脚本,每个脚本对应于您要在其中工作的环境。例如:

config.txt
configProductionExample.txt
configLocalDevExample.txt
startProduction.sh
startLocalDev.sh

如果您的团队正在使用GitHub或Bitbucket之类的工具,那么绝对有可能阻止任何人直接合并到分支中。取而代之的是,路由任何想要推送请求的人。@TimBiegeleisen我在本地使用git,为问题添加了澄清。为什么需要进行这种提交?在我看来,您已经提交了配置文件之类的文件,以及类似于您的存储库的文件,该存储库具有与防止合并完全不同的解决方案。