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!
Top comments (11)
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 afile1.txt
in branch A.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
Thanks, this saved my googling time :)
Glad I could help
Thanks a lot !
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
this doesn't actually merge the file... it just overwrites it with the version in the another branch!!
You're actually right
Was literally JUST talking about this today, thanks!
One of those things I learn today and need to use tomorrow.
I could only get this to work with individual files for some reason
This does not merge the files, instead, this command will overwrite the current file with the incoming file. You should include -p flag