Eu tenho um servidor privado executando o git 1.7 Quando eu
git init
uma pasta que não cria uma ramificação principal. Porque quando eu faço:
git branch
não lista nada. Quando eu faço:
git --bare init
cria os arquivos. Quando digito
git branch master
diz:
fatal: Not a valid object name: 'master'.
git branch newbranch
Respostas:
Isso é verdade, e o comportamento esperado. O Git não criará uma
master
ramificação até você confirmar algo.Um não nu
git init
também criará os mesmos arquivos, em um.git
diretório oculto na raiz do seu projeto.Esse é novamente o comportamento correto. Até você confirmar, não há ramificação principal .
Você não fez uma pergunta, mas eu responderei à pergunta que eu supus que você pretenda fazer. Adicione um ou mais arquivos ao seu diretório e
git add
eles para preparar uma confirmação. Em seguida,git commit
crie seu commit emaster
ramificação inicial .fonte
.git/HEAD
e muderefs/heads/master
pararefs/heads/main
, mas não há nenhuma razão para fazer isso. Apenas renomeie sua ramificação após o primeiro commit.git checkout -b <branchname>
para alterar HEAD - você não precisa editar o arquivo.O Git cria uma ramificação principal assim que você faz seu primeiro commit. Não há nada para se ramificar, se não houver código no repositório.
fonte
Primeiro, quando você cria um "repositório vazio", não fará nenhum trabalho com ele (ele não contém uma cópia de trabalho, portanto o
git branch
comando não é útil).Agora, o motivo pelo qual você não teria uma
master
ramificação mesmo depois de fazer agit init
é que não há confirmações: quando você cria sua primeira confirmação, você terá umamaster
ramificação.fonte
git clone
para evitar ter que fazer umgit init
no lado do receptor.git checkout
se quiser que o WC reflita o que está no.git
diretório (que é onde você pressionou).Você precisa confirmar pelo menos uma vez no mestre antes de criar uma nova ramificação.
fonte