How to create branch-specific files on GitHub How to create branch-specific files on GitHub git git

How to create branch-specific files on GitHub


Let's say project is a name of the branch to be merged, and README.md is a name of the file that keep branch specific information.

I would suggest the following steps:

  1. Merge project branch, but make sure changes are not committed, and not fast-forwarded

    $ git merge --no-commit --no-ff project
  2. Unstage README.md file and checkout its current branch version

    $ git checkout HEAD -- README.md
  3. Complete merge

    $ git commit

Also, it makes sense to install merge driver that will keep branch specific version of a file in case of merge conflict. In such case, you will never need to resolve conflicts in branch specific files manually.

Such merge driver is usually called ours and defined as:

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

Now, you can specify in .gitattributes file, when this merger should be used.

In our case, it is needed to add the following rule to .gitattributes and commit it:

README.md merge=ours