【问题标题】:How do I allow certain git commits to a branch but prevent them being merged into master?如何允许某些 git 提交到分支但阻止它们合并到 master 中?
【发布时间】:2017-08-28 07:12:53
【问题描述】:

有时我会分支出去编写一个功能,但需要一个初始的本地提交,它会调整某些文件以使我能够在本地工作。这些更改不会合并回 master,因此当分支准备好时,我会对其进行 rebase 并删除初始提交,这通常以日志消息“DONT MERGE”开头。但有时我仍然设法将其合并到 master 中。

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

【问题讨论】:

  • 好吧,如果您的团队正在使用 GitHub 或 Bitbucket 之类的东西,那么绝对有可能阻止任何人直接合并到分支中。相反,路由任何想要推送拉取请求的人。
  • @TimBiegeleisen 我在本地使用 git,对问题进行澄清。
  • 为什么需要进行这种提交?听起来你已经提交了配置文件之类的文件,并且类似于你的存储库,它有完全不同的解决方案而不是阻止合并。

标签: git git-merge githooks


【解决方案1】:

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

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

config.txt
configProductionExample.txt
configLocalDevExample.txt

或者您可以提交多个启动脚本,一个用于您想要工作的每个环境。例如:

startProduction.sh
startLocalDev.sh

【讨论】:

    猜你喜欢
    • 2023-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-04
    • 2021-04-19
    • 1970-01-01
    • 1970-01-01
    • 2021-03-22
    相关资源
    最近更新 更多