Flujo de trabajo básico de Git [duplicado]

Posible duplicado:
git push error '[remoto rechazado] maestro -> maestro (la rama está actualmente desprotegida)'

Soy nuevo en Git e intento usarlo para un proyecto local de griales.
Los pasos que seguí:

crear el proyecto grailsir al directorio del proyecto ygit initAgregue todos los archivos en el proyecto en el área de preparación y confirme.

El estado de git en el repositorio da el siguiente mensaje

BXX@BXX-PC /c/Work/Grails/projects/yyy/tables (master)
$ git status
# On branch master
nothing to commit (working directory clean)

Intentando mantenerlo como la rama maestra, realiza los cambios clonando el repositorio y luego retrasa los cambios. Para eso

En mi IDE, verifique el proyecto (IntelliJ). Esto realmente clona el proyecto a otro directorio.Haz los cambios y compromete el proyecto

Empuje los cambios locales a maestro.

15:41:56.249: git push -v origin master
Pushing to c:/Work/Grails/projects/xxx/tables
remote: error: refusing to update checked out branch: refs/heads/master        
remote: error: By default, updating the current branch in a non-bare repository        
remote: error: is denied, because it will make the index and work tree inconsistent        
remote: error: with what you pushed, and will require 'git reset --hard' to match        
remote: error: the work tree to HEAD. 

El estado del repositorio clonado es

$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
nothing to commit (working directory clean)

Por favor, ayúdame a entender esto. ¿Hay un mejor flujo de trabajo a seguir? Es posible que pueda inicializar el repositorio a través de Intellij e intentar trabajar en la rama principal. Todavía no estoy seguro de lo que está mal arriba.

gracias.

Respuestas a la pregunta(4)

Su respuesta a la pregunta