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.gitalém da outra sintaxe - qual é a sintaxe? Por que deve terminar .git? Tentei não usar .gitno final e funciona também. Se não .git, o que mais pode ser? O gitin git@github.comparece 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é ascpsintaxe de estilo para URLs ssh no git. Outro ponto é que, por padrão, a configuração upstream demasternão afeta o comportamento de, agit pushmenos que você tenhapush.defaultdefinido comotracking(ouupstreamem versões posteriores) - fiz um post sobre esta fonte de confusão: longair.net/blog/2011 /