多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
>[info] git在灵活性在于我们工作是始终在本地的版本库中工作的,工作完后只需要将本地仓库与远程仓库同步,来达到共享代码的目的。 所以远程仓库和本地仓库的关联关系就很重要了。 还记的【建立版本库】章节中讲的创建版本库中的这个命令吗: ~~~ $ git remote add origin git@github.com:xiasf/github-note.git ~~~ ~~~ git remote add origin [SSH|URL] // 为远程仓库设置别名为"origin" ~~~ 其实这个命令是为远程仓库设置别名的,所以后面才这样使用: ~~~ git push -u origin master // 推送(本地当前分支)到远程仓库的master分支 ~~~ > 由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。 **设置别名是为了方便后面操作,简化命令,这很容易理解了吧。** ## 扩展知识 为什么别名用"origin",用别的可以吗? 当然可以用别的,origin是Git对远程库的默认叫法,也可以改成别的,但是origin这个名字一看就知道是远程库啊,并且github初始化项目也是用的这个别名的,所以用这个是最好的。 其实对版本仓库的很多设置/配置信息很多都是保存在仓库根目录的./.git/config文件中的,这个文件一般长这样: ~~~ [core] repositoryformatversion = 0 filemode = false bare = false logallrefupdates = true symlinks = false ignorecase = true [remote "origin"] url = git@github.com:xiasf/github-note.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master ~~~ 从这里其实你也基本看出来了,我们刚才设置的远程仓库别名和当前(默认)分支,还有一些配置信息。 其实这里面还可以设置很多信息哦,别忘了“git配置也是这个文件哦”所以一些自动以配置,比如git 配置,命令别名等也可以在这里配置哦。 Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。 使用https除了速度慢以外,还有个最大的麻烦是每次推送都必须输入口令,但是在某些只开放http端口的公司内部就无法使用ssh协议而只能用https。 使用git clone 克隆远程仓库时是只能的,如果使用ssh地址克隆的则配置默认为ssh的,如果使用url则默认是url的。换句话说也就是git将克隆时的地址用作了配置中的远程地址。