2015-10-11 44 views
6

我想要具有分支專用文件的同名文件。我需要能夠從我的開發分支合併到主文件中,而無需對此文件進行更改。如何在GitHub上創建分支專用文件

例如:
我們假設我想要兩個不同的readme.md文件。在一個我想要有內容:MASTER和另一個DEV。但如果我嘗試這樣做,在創建拉取請求時,GitHub會嘗試合併此文件,這正是我的問題。我不希望GitHub在每次進行更改時都合併此文件。

解決此問題的最佳方法是什麼?

+0

是文件已經COMMITED? – grimsock

+0

@grimsock:是的,正如我在編輯中提到的,在我的情況下,我有兩個這樣的文件:readme.md和CI配置文件,顯然他們需要提交 –

回答

4

假設project是要合併的分支的名稱,並且README.md是保留分支特定信息的文件的名稱。

我建議以下步驟:

  1. 合併項目的分支,但要確保更改沒有提交,而不是快進

    $ git merge --no-commit --no-ff project 
    
  2. Unstage README.md文件和Google Checkout目前的分支版

    $ git checkout HEAD -- README.md 
    
  3. 完成合並

    $ git commit 
    

而且,它是有道理的安裝合併驅動程序,將讓一個文件的分支特定版本的合併衝突的情況。在這種情況下,您將永遠不需要手動解決分支特定文件中的衝突。

這樣的合併驅動程序通常被稱爲ours並定義爲:

$ git config --global merge.ours.driver true 

現在,你可以在.gitattributes文件中指定,何時應該使用這種合併。

在我們的情況下,需要對以下規則添加到.gitattributes並提交:

README.md merge=ours