2017-03-04 67 views
1

我們有兩個存儲庫:Upstream和Downsteram,其中一個config.lua文件可以在它們之間不同。我們希望使用從下游到上游的合併請求(反之亦然),同時忽略config.lua文件。Github忽略下拉請求中的下游配置文件

相關SO答案是不能使用的:

我們不想花時間每次不包括config.lua文件,所以在Github - Pull Request, ignore some file changes回答不爲我們工作。

這個答案(Using git, how do I ignore a file in one branch but have it committed in another branch?)顯然不工作(無論如何,這是相同的master分支)。

我無法讓Github使用https://stackoverflow.com/a/8014154/7656871中給出的答案。 我已經試過如下:

  1. 創建config.lua文件,並改變了它不同,以 導致衝突(這似乎是一個黑客攻擊,但顯然需要!)
  2. 添加.gitattributes與內容config.lua merge=ours
  3. 添加的.gitconfig與內容: [merge "ours"] driver = true
  4. GitHub的PR仍然檢測到變化並聲稱它不能自動合併。

我也認爲創建合併衝突是一個不好的竅門,所以這種合併策略會觸發(請參閱Is it possible to exclude specific commits when doing a git merge?)。如果有多個下游分叉,它將使這個過程變得複雜。

執行請求時是否沒有簡單的方法忽略一個Downstream配置文件?

回答

0

首先,GitHub只是Git回購的前臺。所以這是一個Git問題,因爲GitHub PR實際上是關於合併兩個分支 - 沒有辦法在那裏排除文件。


的解決這個問題通常是不承諾在所有配置文件,而是犯了foo.cfg.example同時gitignore加入foo.cfg

如果你無法避免提交配置文件,爲什麼不給它們唯一的名稱 - 例如, foo-team1.cfgfoo-team2.cfg等?這樣他們被跟蹤,但你將不會與其他人的配置更改覆蓋你的衝突或問題。