Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Partial stage/unstage operations fail with cryptic error

When I try to stage or unstage part of a file using the Stage Hunk or Stage Selected Lines button I get the following error:

'git apply' failed with code 1:'error: (null): does not exist in index


The last single quote appears on its own line.

I have tried running 'git fsck' on the repo and didn't get anything unusual.

17 answers

1 accepted

24 votes
Answer accepted

Follow up, this is fixable by setting Show Whitespace to Ignore Whitespace. Then the apply works. It appears that some of the time the line numbers from whitespace changes affects things negatively. This doesn't always happen, but at least for me this time it fixed it. Hope it helps someone else! :)

Still have this issue in 2014, but "Ignore Whitespace" helped. Thank you!

Yep - this issue still exists, and this still seems to fix it. For those who aren't sure where the 'Show Whitespace' option is located - look for the small cog icon in the top right corner of the "File Status" view, to the right of the search box. The option is in there.

I found the reverse fixed my problem, setting from Ignore to Show. Whatever works I guess.

Like Sreeram Ramakrishnan likes this

its 2016 and this is still an issue...

Where is "setting Show Whitespace to Ignore Whitespace"?

2017-01-27 16_50_08-SourceTree.png

OK, so that not helps.

You're right, that didn't. Not sure what happened there. Let's try again.


With either Ignore whitespace or Show whitespace checked, this issue still exists in 2020. I'm sorry but how hard can it be to fix?

Like # people like this

The only way I could get around this was to stage all changes to file then unstage the chunks I didn't want to commit.

This is still an issue in December, 2020; disappointing to say the least!

Anyway, the fix for me was to switch to show instead of ignore.

Might also be the character encoding. If you set encoding to e.g. UTF-8 in SourceTree, but save the file in ANSI and have e.g. german Umlaut characters in it. Make sure to use consistent whitespace, character encoding and line-end handling.

I can confirm this. I merely changed the encoding for a file from ANSI to UTF-8 and now it works. Also I noticed that in ANSI, umlauts weren't shown correctly, merely as the question mark placeholder glyph.

Switching to Ignore Whitespace fixed this for me.

How do you switch to Ignore Whitespace?

Above the diff view there is a cog icon, click that and you will see the option to show or ignore whitespace differences in the view.

I'm getting this same problem when trying to "Stage Hunk". I don't know how to do the suggested fixes. Will somebody please enlighten me?

I'm also having the same issue:

'git apply' failed with code 1:'error: attak_game.js: does not exist in index'

When trying to "Stage Selected Lines"

It fails on any file in any repo on my machine. Doing "git add --patch" works properly, as does using the equivalent feature in Tower.

Actually I just figured it out. This feature breaks if you have diff.mnemonicprefix set to true in your git config.

Try adding the following to your ~/.gitconfig

    whitespace = nowarn

Does this allow merges to complete successfully, or just suppress the error and cause the merge to mess your file up? :)

I tried the above, restarted my machine, and got this slightly different error...Skærmbillede 2017-09-27 kl. 09.11.59.png

Problem still presents.(

Still... 5.5 years later.

This thread is quite old, but I just wanted to stop in and say I still see this issue.

Gotta be line-ending-related; I'm attempting to stage hunks/selected lines on a Windows machine after the source files were last modified on a Unix machine.

Very irritating issue, and none of the fixes in this thread worked for me.

I see this with "Ignore Whitespace" AND "Show Whitespace". I don't have "diff.mnemonicprefix" set in my gitconfig. As far as I can tell, my file just has UNIX style line endings. What's the cause and fix?

Despite the workaround, this is very annoying. Hope it get's fix really soon.

I see this when end-of-line characters are messed up in a file.

Just wanted to add that I too experience this occasionally. Got it now in a file with several different detected hunks, and none of then can work via apply hunk or apply selected lines, nor can they be un-applied. Only fully staging the file as a whole works.

I'm seeing the same error. Unfortunately, settng both my global and local diff.mnemonicprefix setting to false doesn't solve the problem for me.

Can you give some more details about the file you're trying to do this on? This functionality works in all my tests here.

Suggest an answer

Log in or Sign up to answer
Community showcase
Published in Sourcetree

Tip from the team: configure your repos for hosting goodness!

Supported Platforms macOS Windows We recently introduced support for additional hosting services such as GitHub Enterprise, GitLab (Cloud, Community Edition, Enterprise Edition), and...

7,144 views 5 13
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you