2016-01-06 107 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日誌

有其他的方式來做到這一點的是我們忽略了?

回答