合并分支。 - 合并时如何忽略某些文件?

时间:2013-12-19 16:20:48

标签: git

我有一个项目,它部署在heroku上。现在我需要部署相同的项目,但需要进行一些更改(特别是设置ActionMailer,它们位于两个不同的目录中)。

因此,我的第二个项目是开发副本,客户将在其上测试更改。批准后,更改将应用​​于生产服务器。

我想创建两个分支,为某些文件添加例外并使用它。 请告诉我怎么做。

2 个答案:

答案 0 :(得分:1)

你不能这样做,因为这样做会完全破坏完成合并的概念。 Git需要知道/跟踪它已合并到分支中的提交,并且“部分”执行此操作显然会破坏它能够知道它已经完成的内容。

我建议创建一个分支,然后挑选包含您希望客户看到的更改的提交,而忽略其余的更改。理想情况下,您已经做出了良好的,合乎逻辑的和包含的提交,因此这个行动计划应该适合您。

答案 1 :(得分:1)

听起来你想在不同的机器上进行不同的配置设置。

这是我通常对配置文件所做的事情:

  • 假设我想使用名为config.json
  • 的文件配置我的应用程序
  • config.json添加到我的.gitignore,因此它不会包含在存储库中
  • 创建配置文件模板,例如config.json.template具有良好的默认值
  • README.md或其他适当位置添加说明,config.json.template必须复制到config.json并进行相应修改
  • 保护我的代码,以便在缺少config.json时,在应用程序启动时通知某人逻辑
  • 提交我已修改的.gitignore,我修改后的文档以及我的新config.json.template示例文件

部署到新服务器时,只需复制模板并进行修改即可。 .gitignore将阻止更改配置文件,因此您应该确保将其作为常规备份的一部分包含在内。

配置就是数据,就像数据库的内容一样。它应与应用程序代码分开。