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

Git 合并分支合并时如何忽略某些文件?,git,Git,我有一个项目,它部署在heroku上。现在我需要部署同一个项目,但需要做一些更改(特别是设置ActionMailer,它位于两个不同的目录中) 因此,我的第二个项目是一个开发副本,客户将在其上测试更改。批准后,更改将应用于生产服务器 我想创建两个分支,为某些文件添加一个异常并使用它。 请告诉我怎么做。你不能这样做,因为这样做会彻底破坏完成合并的概念。Git需要知道/跟踪它合并到一个分支中的提交内容,而“部分”这样做显然会破坏它知道它已经做了什么的能力 我建议创建一个分支,并选择包含您希望您的客户

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

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

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

你不能这样做,因为这样做会彻底破坏完成合并的概念。Git需要知道/跟踪它合并到一个分支中的提交内容,而“部分”这样做显然会破坏它知道它已经做了什么的能力


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

听起来您希望在不同的机器上有不同的配置设置

以下是我通常对配置文件执行的操作:

  • 假设我想用一个名为
    config.json
  • config.json
    添加到my
    .gitignore
    ,这样它就不会包含在存储库中
  • 创建具有良好默认值的配置文件模板,例如
    config.json.template
  • README.md
    或其他适当位置添加说明,必须将
    config.json.template
    复制到
    config.json
    并进行适当修改
  • 保护我的代码,这样当应用程序启动时,如果
    config.json
    丢失了某个逻辑对象,就会收到通知
  • 提交修改后的
    .gitignore
    、修改后的文档和新的
    config.json.template
    示例文件
部署到新服务器时,只需复制模板并修改即可。
.gitignore
将阻止提交对配置文件的更改,因此您应该确保将其作为常规备份的一部分


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

我不确定我是否正确理解了您的问题,但就我从标题中可以理解的内容而言,我会1)提交非异常文件2)隐藏未提交的更改(异常文件)3)合并您对标记为“merge=ours”的某些文件/目录的.gittattributes有何看法?