Git:合并一个分支但没有一些文件我只需要在本地修改?

时间:2012-03-14 14:12:48

标签: git capistrano

我有这个特殊情况,这很简单,但我在这里看不到(到目前为止)类似的问题。

我正在从远程仓库复制的自己的分支中工作,并且我已将自己的任务添加到 Capistrano Capfile 。这些任务只会帮助我将应用程序部署到我自己的私有服务器上。因此,当需要将我的分支机构与 origin master 合并时,我不希望将Capfile中的更改推送到< strong>远程主仓库,因为很明显,这个文件应该在那里完好无损,不需要我个人的修改。

处理这种情况的最佳做法是什么?

提前致谢!

PS。我想我正在寻找的是一种专门为分支机构提供“ Git Ignore ”文件的方法。简化过程。

2 个答案:

答案 0 :(得分:3)

我建议从当前分支中分出一个now分支(让它命名为Local)(让我们将其命名为Original)。

Original中,您还原对capfile所做的更改。在Local中,您可以照常继续处理数据。在重新合并到遥控器之前,您将Local合并到Original,然后按Original。如果你没有进一步更改本地Capfile,它应该没问题,否则你必须(再次)还原那些更改(尽管这会导致合并冲突,所以你可以直接在合并中处理它。)

答案 1 :(得分:1)

请参阅以下页面底部:https://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes#_merge_strategies

它描述了如何使用git属性设置不同的合并策略。在这种情况下,您始终希望capistrano文件的主版本负责,而不是分支上的版本,例如。

capistrano.file merge=ours

我们引用“我们的文件版本”相对于您在合并时所在的分支。