Rerunning merge on a single file
Hey, I have question about advanced merging.
Suppose I have a huge merge with conflicts all over the place. There is no way to avoid them, so I start working from the top. At some point, however, I make a mistake and lose the merge information for one file (for example by checking out the file from HEAD).
In that case I would like to get the conflict markers back, and do that file over again, but I don't want to throw away the rest of the index state. Currently the only way I can see to do this is by checking out several file versions under different names and then using git merge-file on them.
Is there a better way to achieve this?
Kristian
Quoted 7 lines · Kristian Amlie
Hey, I have question about advanced merging.
Suppose I have a huge merge with conflicts all over the place. There is no way to avoid them, so I start working from the top. At some point, however, I make a mistake and lose the merge information for one file (for example by checking out the file from HEAD).
Quoted 6 lines
In that case I would like to get the conflict markers back, and do that file over again, but I don't want to throw away the rest of the index state. Currently the only way I can see to do this is by checking out several file versions under different names and then using git merge-file on them.
Is there a better way to achieve this?
If the different versions are still in the index you could use:
$ git checkout --merge $file
Santi
Quoted 14 lines · Santi Béjar
Quoted 12 lines · Kristian Amlie
Hey, I have question about advanced merging.
Suppose I have a huge merge with conflicts all over the place. There is no way to avoid them, so I start working from the top. At some point, however, I make a mistake and lose the merge information for one file (for example by checking out the file from HEAD).
In that case I would like to get the conflict markers back, and do that file over again, but I don't want to throw away the rest of the index state. Currently the only way I can see to do this is by checking out several file versions under different names and then using git merge-file on them.
Quoted 5 lines
Quoted 1 line
Is there a better way to achieve this?
If the different versions are still in the index you could use:
$ git checkout --merge $file
In my case the files were added to the index already, so I guess it doesn't work then?
Kristian
Quoted 14 lines · Santi Béjar
Quoted 12 lines · Kristian Amlie
Hey, I have question about advanced merging.
Suppose I have a huge merge with conflicts all over the place. There is no way to avoid them, so I start working from the top. At some point, however, I make a mistake and lose the merge information for one file (for example by checking out the file from HEAD).
In that case I would like to get the conflict markers back, and do that file over again, but I don't want to throw away the rest of the index state. Currently the only way I can see to do this is by checking out several file versions under different names and then using git merge-file on them.
Quoted 5 lines
Quoted 1 line
Is there a better way to achieve this?
If the different versions are still in the index you could use:
$ git checkout --merge $file
Note that this is very new, as it was introduced in v1.6.0.1-26-geac5a40, so you'll need at least 1.6.0.2.
Santi