我有以下分支設置的應用程序:分公司具體設置文件的Git(集線器),將不合並
- 生產
- 分期
- DEV-一個
- 開發-B
- DEV-C(等)
有某些設置特定於每個分支(一個文件d部署環境)。我希望這些文件保持在版本控制中(所以我可以在特定的分支上進行更改並推送等),但是我希望能夠在分支之間合併(或重新分配),而不會將這些文件拉入合併中 - 。
例如,假設production
具有config.txt
與:
key=production-api-key
staging
和具有與config.txt
:
key=staging-api-key
等等等等。如果我在分段中更改任何文件,請推送到GitHub,打開PR,然後合併,我想config.txt
在合併中被忽略。另外,如果我在staging
上更改config.txt
,然後推送給GitHub,並且該項目上的其他開發人員進行了更改,我希望他們看到我推送到staging
分支的config.txt
的新修改版本(顯然只有在staging
科)。
.gitignore
不是我在這裏尋找的,看到這將忽略所有分支的任何變化,並且無論我擁有的文件的本地版本將永遠是什麼在使用中,以及任何變化當其他開發人員嘗試將更改提交給特定分支時,我對它們做出的反應將不會被反映出來。
我使用git update-index --assume-unchanged config.txt
認爲,雖然這將允許在每個分支不同版本的config.txt
(假設我犯運行--assume-unchanged
之前的變化),它不會讓我更新文件,如果我打開一個PR,這些變化都合併了。
有什麼建議嗎?
不要使用--assume-unchanged。它意味着不同的東西。這意味着你向Git保證它不需要浪費統計週期來檢查變化(它最終會)。鑑於對其使用的誤解,文件正在更新以更清楚地說明這種區別。嘗試使用gitignore或排除功能,然後僅在提交時追蹤/追蹤。 – 2014-12-11 15:45:23