Um repositório "normal" é um diretório que contém o repositório atual e uma cópia de trabalho. O repositório atual está localizado em um subdiretório oculto com o nome .git
. A cópia de trabalho são os arquivos e diretórios com os quais você trabalha.
Um repositório "vazio" é apenas o conteúdo do diretório .git
, sem uma cópia de trabalho.
Você não pode trabalhar em um repositório vazio. Primeiro, você precisa clonar o repositório nu em um repositório normal e, em seguida, trabalhar no clone.
Na sua primeira tentativa, você criou um repositório "normal". Então você clonou isso. Então você tentou empurrar de volta para o repositório normal. Então você recebeu um aviso. Você não deve empurrar para um repositório normal. Git avisa quando você tenta fazer isso. Você deve enviar apenas para um repositório vazio.
Na sua segunda tentativa, você criou um repositório "simples". Então você criou um repositório "normal". Então você empurrou do normal para o repositório nu. Isso é (um dos) fluxo (s) de trabalho esperado (s). É por isso que você não tem erros ou avisos.
Quando você quer trabalhar em seu projeto a partir da máquina Windows e da máquina Ubuntu, você tem duas opções:
-
Crie um repositório vazio (não importa onde). Então clone daquele repositório, um na máquina windows e outro na máquina ubuntu. Agora, empurre os clones para o repositório vazio e puxe do repositório para os clones. Não empurre para os repositórios normais.
-
Crie dois repositórios normais, um na máquina windows e outro na máquina ubuntu. Agora, ao trabalhar no Ubuntu, você pode puxar da máquina do Windows e vice-versa. Não empurre um para o outro.
Linha de fundo: apenas empurre para os repositórios nus. Em todos os outros casos, quando você pensa em empurrar de A para B, vá para B e puxe de A.
Parece que você é muito novo para o git. Por favor, leia um ou ambos dos seguintes livros muito bons: Git Book , Pro Git .