Usar el subtree de git para implementar un directory de compilation

Estoy usando Ant Build Script en mi proyecto para crear un directory de construcción llamado "publicar". Una vez que ejecuto la compilation y actualizo mi carpeta de publicación con la nueva compilation, agrego y luego la comprometo y finalmente la envío a mi repo remoto en github.

Una vez que se ha agregado la carpeta de publicación al proyecto, ejecuto este command sugerido por Yeoman en mi máquina local.

git subtree push --prefix publish origin deployment 

En la ejecución inicial, despliega mi carpeta de publicación en su propia twig llamada "implementación".

Cada vez que ejecuto la construcción de nuevo, agrego files, confirmo files y envío files a repository remoto y luego ejecuto ese command de subtree localmente, me rechazan.

 ! [rejected] 22cd5e0605fcc771615bdacbde9bd95582705c17 -> deployment (fetch first) error: failed to push some refs to 'git@github.com:[org]/[repo].git' hint: Updates were rejected because the remote contains work that you do hint: not have locally. This is usually caused by another repository pushing hint: to the same ref. You may want to first merge the remote changes (eg, hint: 'git pull') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details. 

¿Cuál es el mejor enfoque con este tipo de flujo de trabajo?

Creo que lo mejor es usar grunt-build-control para esto. Tarda 10 minutos en instalarse, pero funciona como un encanto y la implementación completa de la carpeta de compilation en los controles remotos se convierte en automática, completamente controlada e indolora.

Ahora también se menciona en la wiki Yeoman por cierto.