Re: 'untracked working tree files would be overwritten by merge' on ignored files?
- From
Andreas Krey <a.krey@gmx.de>
- Date
- Jun 14, 2016, 21:35 UTC
- Message-ID
- <20160614213508.GD30134@inner.h.apk.li>
- In-Reply-To
- <xmqqy467aeev.fsf@gitster.mtv.corp.google.com>
On Tue, 14 Jun 2016 10:06:16 +0000, Junio C Hamano wrote: ...
Show 5 quoted lines
> > IIRC, untracked files are kept during merge and across checking out > another branch. Files that are deliberately marked as ignored by > listing them to .gitignore mechanism are considered expendable, and > they will be removed as necessary.
Apparently not. Waitaminute - I can check out the other branch, and then the ignored file is replaced by the versioned file there, as you say.
But when I try to merge the other branch, merge complains as in $subject.
That is, 'git merge other' does not work, but 'git checkout out; git checkout -; git merge other' works because then the ignored file is removed in the first checkout and no longer in the way for the merge:
$ git status --ignored
On branch side
Ignored files:
(use "git add -f <file>..." to include in what will be committed)a.txt
nothing to commit, working directory clean
$ git merge master
error: The following untracked working tree files would be overwritten by merge:
a.txt
Please move or remove them before you can merge.
Aborting
$ git checkout master
Switched to branch 'master'
$ git checkout -
Switched to branch 'side'
$ git merge master
Merge made by the 'recursive' strategy.
a.txt | 1 +
1 file changed, 1 insertion(+)
create mode 100644 a.txt
$Andreas
-- "Totally trivial. Famous last words." From: Linus Torvalds <torvalds@*.org> Date: Fri, 22 Jan 2010 07:29:21 -0800