Parece que o mapeamento é local para um buffer, conforme foi definido com o argumento <buffer>.
Ao digitar :unmap y<C-G>, você solicita ao Vim que retire o mapeamento de um mapeamento global cujo {lhs}é y<C-G>, mas provavelmente não existe esse mapeamento global no sistema, daí o erro.
Se você deseja remover o mapeamento do mapeamento local, use o mesmo argumento <buffer>usado para defini-lo::unmap <buffer> y<C-G>
Editar:
Para automatizar o processo, você pode instalar um autocmd observando os acontecimentos VimEnter, BufNewFilee BufReadPost. Ele testaria se o mapeamento existe if !empty(maparg('y<C-G>', 'n'))antes de tentar excluí-lo. Poderia dar algo como:
augroup custom_fugitive
autocmd!
autocmd VimEnter,BufNewFile,BufReadPost * if !empty(maparg('y<C-G>', 'n')) | unmap <buffer> y<C-G>| endif
augroup END
Você não pode escrever isso no seu, vimrcporque o último é fornecido antes dos plugins, o que substituirá qualquer coisa que você faça. Em vez disso, você teria que escrever dentro ~/.vim/after/plugin/mappings.vim. O nome do arquivo ( mappings.vim) não importa, apenas o diretório é importante ( ~/.vim/after/plugin/).
Edição 2:
Como seu último comentário diz, parece que há outra maneira de desativar o mapeamento. fugitiveinstale os mapeamentos <C-R><C-G>e y<C-G>somente se g:fugitive_no_mapsfor diferente de zero. Portanto, se você incluir let g:fugitive_no_maps=1dentro do seu vimrc, y<C-G>não deve ser definido.
fugitiveplugin.