Is there a function $f:\mathbb{Z}\rightarrow\mathbb{Z}$ such that $f(f(x))=x+1$?

No. Assume such $f$ exists and $f(0)=n_0$. Since $f(f(f(x)))=f(x+1)$ and $f(f(f(x)))=f(x)+1$. Thus, $f(x+1)=f(x)+1$. Thus, $f(n)=n_0+n$ for $n\in \mathbb{Z}$.

If,$n_0>0$, then $f(n)>n\Rightarrow f(n)\geqslant n+1\Rightarrow f(f(n))\geqslant f(n)+1\geqslant n+1+1=n+2>n+1 \Rightarrow\Leftarrow$.

If,$n_0\leqslant 0$, then $f(n)\leqslant n\Rightarrow f(f(n))\leqslant f(n)\leqslant n<n+1 \Rightarrow\Leftarrow$.

The last two steps can be simplified: $n+1=f(f(n))=f(n)+n_0=n+2n_0\Rightarrow 2n_0=1\Rightarrow\Leftarrow$.


Let's say $f(0)=a$ is positive (a similar argument may be made for $a$ negative). Then $$f(a)=f(f(0))=1\\f(1)=f(f(a))=a+1\\\vdots\\f(a-1)=f(f(2a-2))=2a-1\\f(2a-1)=f(f(a-1))=a\\f(a)=f(f(2a-1))=2a$$But we have already established that $f(a)=1$, so we have a contradiction.