Muitas vezes, o Git e o Rails parecem mágicos ... como no primeiro capítulo do livro Tutorial do Rails 3 , ele fala sobre o Git:
git remote add origin git@github.com:peter/first_app.git
git push origin master
e praticamente diz "simplesmente funciona" sem falar muito sobre o que são e começar a falar sobre ramificação. A pesquisa na rede mostra que git remote add
é para adicionar um "nome abreviado", como origin
, e também pode ser qualquer nome, que é como um alias para um URL. E origin
é o caminho usual para onde o repositório remoto aponta. (em http://git-scm.com/book/en/Git-Basics-Working-with-Remotes em "Adicionando repositórios remotos")
Então, por que o URL não está git://git@github.com/peter/first_app.git
além da outra sintaxe - qual é a sintaxe? Por que deve terminar .git
? Tentei não usar .git
no final e funciona também. Se não .git
, o que mais pode ser? O git
in git@github.com
parece ser uma conta de usuário no servidor git?
Além disso, por que ele precisa ser tão detalhado para usar git push origin master
? O padrão não pode ser origem e mestre? Descobri que a primeira vez origin master
é necessário, mas depois de uma pequena edição e confirmação, git push
é tudo o que precisa (sem necessidade origin master
). Alguém que sabe o que está acontecendo pode dar alguns detalhes?
Às vezes parece muita mágica sem explicação ... e às vezes a pessoa que a usa é tão confiante e, quando perguntada por quê, não consegue explicar e responde com algo como "é assim que é". Às vezes, muito prático e pragmático. Não é ruim ser prático, mas provavelmente não é prático a ponto de não saber o que está acontecendo.
git@github.com:peter/first_app.git
é ascp
sintaxe de estilo para URLs ssh no git. Outro ponto é que, por padrão, a configuração upstream demaster
não afeta o comportamento de, agit push
menos que você tenhapush.default
definido comotracking
(ouupstream
em versões posteriores) - fiz um post sobre esta fonte de confusão: longair.net/blog/2011 /