Git merge specific file from another branch

twitter logo github logo ・1 min read

There are two teams working on the same project and they realize a common problem that was already resolved by one side, but the status of work in each branch is in progress and to make a merge can be unsafe.

How to solve this problem?

There is a safe solution: merge a specific file from another branch. And there is the steps:

$ git checkout <another-branch> <path-to-file> [<one-more-file> ...]
$ git status
$ git commit -m "'Merge' specific file from '<another-branch>'"

That's it!

Here is a more detailed approach.

twitter logo DISCUSS (9)
markdown guide

What this does is replace a file on a branch with the file from the other branch.The actual solution would look like this:

Say I had a file1.txt in branch B I wanted to merge with a file1.txt in branch A.

git checkout A

git checkout --patch B file1.txt

1.First, get yourself to branch A(Where you want to do the merge).
2.Patch with the file from branch B.

If your file1.txt does not exist in branch A , leave out the option --patch.
Note that once this command is run, you can accept options that will be provided in the terminal. You can choose to accept with the y or regect with n and so on


this doesn't actually merge the file... it just overwrites it with the version in the another branch!!


this works slightly differently than advertised, it does not "merge" a specific file, it "checks out" a specific file, when you have a different version of your file and you actually want to merge those it doesnt work, git checkout branch filename just overrides yours without any prompt to merge differences


One of those things I learn today and need to use tomorrow.


Was literally JUST talking about this today, thanks!


I'm glad to be able to help this wonderful community!

Classic DEV Post from Apr 7

Native Lazy Loading for <img> and <iframe> is Coming to the Web

I'm really excited about the upcoming loading attribute in HTML. &lt;img src...

Alex Ruzenhack profile image