2016-01-06 129 views
0

一个追加或预先定期的文件有一个合并冲突的趋势。避免合并冲突的策略,例如在git

E.g.我们的仓库顶层有一个ChangeLog.txt文件。无论什么时候有人做出实质性改变,对该改变的用户友好描述都会被附加到ChangeLog.txt之前。这会导致频繁的合并冲突,因为不同的开发人员会合并单独的更改或单个开发人员重新绑定并更改提交顺序,从而改变顺序ChangeLog.txt。 (我们也有一个UpgradeDatabaseSchema.pm perl库,它同样有N个入口pr版本,它也倾向于合并冲突,但让我们继续使用ChangeLog.txt)。

如何很好地避免这种合并冲突?

我想出的唯一事情是一个目录结构,其中,代替犯ChangeLog.txt,我们承诺记录到changeLog目录在不同的文件:

changeLog/ 
    v1.1/ 
     fooFeature.txt 
     bug-4524-fix.txt 
     refactoredWhatever.txt 
    v1.2/ 
     bug-4522-fix.txt 
     barFeature.txt 
     removedFoobar.txt 

然后让ChangeLog.txt从例如建以某种方式连接这些文件(而不是在git中跟踪/提交ChangeLog.txt)。这是一个有点麻烦......

我们也只是用git log,而不是简单地ChangeLog.txt考虑,但不会因为观众是不同的:git的日志是针对开发人员和ChangeLog.txt是客户。另外,不能轻易改变git log中提交的描述,而不会改变git历史记录并破坏每个人的分支。

所以:

  • 直播与合并冲突
  • 使用,而不是一个单一的平面文件目录结构
  • 使用git日志

有其他的方式来做到这一点的是我们忽略了?

回答