The plus sign at the end of your version string is there as an indicator that the kernel was built from modified sources (that is, there were non-committed changes). This is also indicated by the comments in scripts/setlocalversion.
To avoid the '+' being appended despite having a dirty working directory, simply set LOCALVERSION explicityly when running make:
make LOCALVERSION=
You may also have to change the configuration option CONFIG_LOCALVERSION_AUTO to n in your kernel config (.config) before building:
sed -i "s|CONFIG_LOCALVERSION_AUTO=.*|CONFIG_LOCALVERSION_AUTO=n|" .config
http://hi.baidu.com/archlive/item/488cde5e127f923632e0a975
如何编译git内核为Arch标准样式--Compile linux git tree as Arch way
sed -i 's|^EXTRAVERSION = .*$|EXTRAVERSION =|g' Makefile
sed -i 's|.*CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION="-ARCH"|g' .config
sed -i 's|.*CONFIG_LOCALVERSION_AUTO.*|\# CONFIG_LOCALVERSION_AUTO is not set|g' .config