Reputation: 3219
I am in the situation of having a merge conflict in git, so far so good. After the merge I have a file foo.txt
in my repository:
<<<<<<< HEAD
line 1 from-foo-branch
line 2 in bar-branch
||||||| empty tree
=======
line 1 from-foo-branch
line 2 in bar-branch
sdfgsdfgsdfg
>>>>>>> dev_futurama
If I open the conflicted file foo.txt
with a non-git editor, thats what I have in it. I want to resolve the file with this external non-git editor. How must the solution look like and how can I proceed with the merge via terminal?
Upvotes: 1
Views: 848
Reputation: 142164
Edit the file in any editor you wish.
# Set the default git editor
git config --global core.editor <your editor>
Once the conflict is resolved simply save the file then add it to the index and commit
If you wish to add some of the changes and not all of them at once use the git add -p
These are the options you can do within add -p
:
y - stage this hunk
n - do not stage this hunk
q - quit, do not stage this hunk nor any of the remaining ones
a - stage this and all the remaining hunks in the file
d - do not stage this hunk nor any of the remaining hunks in the file
g - select a hunk to go to
/ - search for a hunk matching the given regex
j - leave this hunk undecided, see next undecided hunk
J - leave this hunk undecided, see next hunk
k - leave this hunk undecided, see previous undecided hunk
K - leave this hunk undecided, see previous hunk
s - split the current hunk into smaller hunks
e - manually edit the current hunk
? - print help
Once you use the s
it will pick the chunk of code which can be considered as a standalone change. If you want to split it, even more, you will have to use the e
to edit the hunk and then add it back to the stage area.
Upvotes: 2
Reputation: 11193
Sure you can overwrite the file with merge markers with content of new file. Just do git add <file>
and git commit
after that.
Upvotes: 2