Molto spesso, Git e Rails sembrano magici ... come nel primo capitolo del libro di tutorial di Rails 3 , parla di Git:
git remote add origin git@github.com:peter/first_app.git
git push origin master
e praticamente dice "funziona" senza dire troppo su quello che sono e iniziare a parlare di ramificazione. Cercando sul spettacoli rete che git remote add
è quello di aggiungere un "nome breve", come ad esempio origin
, e può essere qualsiasi nome pure, che è come un alias a un URL. Ed origin
è il solito percorso verso cui punta il repository remoto. (in http://git-scm.com/book/en/Git-Basics-Working-with-Remotes in "Aggiunta di repository remoti")
Quindi perché l'URL non è git://git@github.com/peter/first_app.git
ma nell'altra sintassi: che sintassi è? Perché deve finire con .git
? Ho provato a non usare .git
alla fine e funziona anche. In caso contrario .git
, cos'altro può essere? L' git
in git@github.com
sembra essere un account utente sul server git?
Inoltre, perché deve essere così prolisso da usare git push origin master
? L'impostazione predefinita non può essere origine e master? Ho scoperto che la prima volta origin master
è necessario, ma dopo una piccola modifica e commit, git push
è tutto ciò di cui ha bisogno (non è necessario origin master
). Qualcuno che sa cosa sta succedendo può fornire alcuni dettagli?
A volte sembra molta magia senza spiegazioni ... e a volte la persona che la usa è così sicura di sé e quando gli viene chiesto perché, non può spiegarlo e rispondere con qualcosa del tipo "così è". A volte molto pratico e pragmatico. Non è male essere pratici, ma probabilmente non pratici al punto da non sapere cosa sta succedendo.
git@github.com:peter/first_app.git
è lascp
sintassi di stile per gli URL ssh in git. Un altro punto è che, per impostazione predefinita, la configurazione upstream dimaster
non influisce sul comportamento di agit push
meno che non sia statopush.default
impostato sutracking
(oupstream
nelle versioni successive) - Ho pubblicato un post sul blog su questa fonte di confusione: longair.net/blog/2011 /