Here is a basic methodology that you can apply and work out the details for specific initial data.
You can use the method of characteristics to find an implicit solution.
The characteristics are determined by the IVP
$$\frac{dX}{dt}= u(X(t),t),\\X(0) = x_0.$$
If $u$ is differentiable , we have
$$\frac{d}{dt}u[X(t),t]= u_t(X(t),t) + u_x(X(t),t)\frac{dX}{dt}=u_t(X(t),t) + u(X(t),t)u_x(X(t),t)=0.$$
Hence, along a characteristic curve $u(X(t),t)$ is constant
$$u(X(t),t)= u(X(0),0)=f(x_0).$$
Solving for $X(t)$ we obtain
$$X(t) = x_0 + f(x_0)t.$$
Therefore, $u(x,t)=f(x_0)$ at a specific point $(x,t) $with $t > 0$ -- where $x_0$ is the solution to $x_0 = x - f(x_0)t$.
If two characteristics cross, then the solution becomes multi-valued. This can be interpreted as the formation of a discontinuity or shock. The first time this happens is determined is follows.
Consider two characteristics initiated at points $(y,0)$ and $(y + \delta,0)$, respectively. If they intersect at time $t$ then
$$y + f(y)t = y + \delta + f(y + \delta)t$$
and
$$t = \frac{\delta}{f(y)-f(y+\delta)}$$
The earliest possible time for the formation of a shock is then given by
$$t_s = \inf_{y} \lim_{\delta \rightarrow 0} \frac{\delta}{f(y)-f(y+\delta)}=\inf_{y}\frac{-1}{f'(y)}.$$
Suppose a shock is located at position $x_S(t)$ with $u(x,t) = u_L$ if $-\delta < x < x_S(t)$ and $u(x,t) = u_R$ if $\delta >x > x_S(t).$
Then,
$$\frac{d}{dt}\int_{-\delta}^{\delta} u(x,t) \, dx = \int_{-\delta}^{\delta} u_t \, dx = -\int_{-\delta}^{\delta} uu_x \, dx \\= -\int_{-\delta}^{\delta} \frac{\partial}{\partial x}\left(\frac1{2}u^2\right) \, dx = \frac1{2}(u_L^2-u_R^2).$$
Also,
$$\frac{d}{dt}\int_{-\delta}^{\delta} u(x,t) \, dx =\frac{d}{dt}\left[u_R(\delta-x_s)+u_L(x_s+\delta)\right]=\frac{dx_S}{dt}(u_L-u_R).$$
Hence,
$$\frac{dx_S}{dt}(u_L-u_R)=\frac1{2}(u_L^2-u_R^2),$$
and the shock propagates at a speed given by
$$\frac{dx_S}{dt} = \frac1{2}(u_L + u_R).$$