我想要具有分支專用文件的同名文件。我需要能夠從我的開發分支合併到主文件中,而無需對此文件進行更改。如何在GitHub上創建分支專用文件
例如:
我們假設我想要兩個不同的readme.md
文件。在一個我想要有內容:MASTER
和另一個DEV
。但如果我嘗試這樣做,在創建拉取請求時,GitHub會嘗試合併此文件,這正是我的問題。我不希望GitHub在每次進行更改時都合併此文件。
解決此問題的最佳方法是什麼?
我想要具有分支專用文件的同名文件。我需要能夠從我的開發分支合併到主文件中,而無需對此文件進行更改。如何在GitHub上創建分支專用文件
例如:
我們假設我想要兩個不同的readme.md
文件。在一個我想要有內容:MASTER
和另一個DEV
。但如果我嘗試這樣做,在創建拉取請求時,GitHub會嘗試合併此文件,這正是我的問題。我不希望GitHub在每次進行更改時都合併此文件。
解決此問題的最佳方法是什麼?
假設project
是要合併的分支的名稱,並且README.md
是保留分支特定信息的文件的名稱。
我建議以下步驟:
合併項目的分支,但要確保更改沒有提交,而不是快進
$ git merge --no-commit --no-ff project
Unstage README.md
文件和Google Checkout目前的分支版
$ git checkout HEAD -- README.md
完成合並
$ git commit
而且,它是有道理的安裝合併驅動程序,將讓一個文件的分支特定版本的合併衝突的情況。在這種情況下,您將永遠不需要手動解決分支特定文件中的衝突。
這樣的合併驅動程序通常被稱爲ours
並定義爲:
$ git config --global merge.ours.driver true
現在,你可以在.gitattributes
文件中指定,何時應該使用這種合併。
在我們的情況下,需要對以下規則添加到.gitattributes
並提交:
README.md merge=ours
是文件已經COMMITED? – grimsock
@grimsock:是的,正如我在編輯中提到的,在我的情況下,我有兩個這樣的文件:readme.md和CI配置文件,顯然他們需要提交 –