error message DSolve::“bvnul”

DSolve[{2 y[x] y''[x] == y'[x]^2 + y[x]^2, y[0] == 1, y'[0] == -1}, y[x], x]

DSolve::"bvnul" For some branches of the general solution, the given
boundary conditions lead to an empty solution "


It is no solution.But we can check that E^-x is a solution.

2 E^-x D[E^-x, {x, 2}] == D[E^-x, x]^2 + (E^-x)^2
("True")


But if we write code like this,it has a solution.

sol = DSolve[{2 y[x] y''[x] == y'[x]^2 + y[x]^2, y[0] == a, y'[0] == b}, y[x], x]
sol /. {a -> 1, b -> -1}


1.Whats the mean of "For some branches of the general solution"?

2.How to explain this phenomenon?

Maybe it looks at the solution without the initial conditions first:

sol = y /. (First@
DSolve[{2 y[x] y''[x] == y'[x]^2 + y[x]^2}, y, x] /. {C[1] -> a,
C[2] -> b})
(* Function[{x}, E^-x (E^x + E^(2 a))^2 b] *)


Then solving for the constants a, b :

Reduce[sol[0] == 0, b]
(* b == 0 || E^(2 a) == -1 *)


and

sol'[0] /. b -> 0
(* 0 *)

sol'[0] /. E^(2 a) -> -1
(* 0 *)


so it cannot match your conditions.