Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Git merge different file names

Tags:

git

merge

Here's my scenario:

I'm working on fixing bugs in file1 in a local branch. My coworker is in his own local branch, merging file1 into file2 in a refactor. He finishes his work and merges back into master and pushes. Now file1 no longer exists in the HEAD.

When I do a pull and try to merge my file1 changes back into master, what will happen? Is git smart enough to account for this or will I have to merge my changes manually?

like image 554
Josh Lindsey Avatar asked Oct 25 '25 02:10

Josh Lindsey


2 Answers

First, you don't merge files, you merge revisions (or rather lines of development).

Second, git uses similarity based heuristic to detect renames, so if file2 is similar enough to file1, then git should automatically merge your and his changes into file2. If not, you would get 'CONFLICT(modify/delete)' (I think) you would have to resolve manually.

like image 109
Jakub Narębski Avatar answered Oct 26 '25 15:10

Jakub Narębski


It depends.... was there a git mv file1 file2 did git recognize this as a rename? if it did then it might recognize this... otherwise it will probably just try to create a new file1. you may have to do some manual merge intervention or a post merge patch. Also this is git TIAS worst case scenario you roll back the merge before pushing.

like image 37
xenoterracide Avatar answered Oct 26 '25 16:10

xenoterracide