通常,Git和Rails看起来就像魔术一样……例如在《Rails 3教程》第一章中,它谈到了Git:
git remote add origin git@github.com:peter/first_app.git
git push origin master
它几乎说“它是有效的”,而没有过多地谈论它们是什么,而是开始谈论分支。在网上搜索表明git remote add
要添加一个“短名称”,例如origin
,它也可以是任何名称,就像URL的别名一样。并且origin
是远程回购指向的通常路径。(在http://git-scm.com/book/zh-CN/Git-Basics-Working-with-Remotes中的 “添加远程存储库”下)
那么为什么不是URL, git://git@github.com/peter/first_app.git
而是使用其他语法-它是什么语法?为什么必须以.git
?我尝试最后不使用.git
它,它也可以工作。如果没有.git
,那还能是什么?在git
中git@github.com
似乎是git的服务器上的用户帐户?
另外,为什么它需要这么冗长git push origin master
?默认值不能是原点和母版吗?我发现第一次origin master
需要,但是在进行少量编辑和提交之后,就git push
只需要它(不需要origin master
)。知道怎么回事的人可以提供一些细节吗?
有时候感觉像是很多魔法而没有解释……有时,使用它的人非常自信,当被问到为什么时,无法解释它,并以“就是这样”的方式做出回应。有时很务实。切合实际并不坏,但是可能不切实际,不知道发生了什么。
git@github.com:peter/first_app.git
是scp
git中ssh URL 的-style语法。另一点是,默认情况下,除非已设置为(或在更高版本中)master
,git push
否则上游配置不会影响的行为-我写了一篇有关此混乱原因的博客文章:longair.net/blog/2011 /push.default
tracking
upstream