从本地仓库推送到github远程仓库
先在github上创建一个仓库,步骤如下
现在github上仓库还是空的,我们可以从git本地仓库推送到github。
在git本地仓库下写命令
$ git remote add origin git@github.com:username/learngit.git
注意,把 username换成自己的github账户名,learngit.git换成自己本地仓库名
接下来,把本地仓库的所有内容推送到gitgub上
$ git push -u origin master
Counting objects: 19, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (19/19), done.
Writing objects: 100% (19/19), 13.73 KiB, done.
Total 23 (delta 6), reused 0 (delta 0)
To [email protected]:michaelliao/learngit.git
* [new branch] master -> master
Branch master set up to track remote branch master from origin.
把本地库的内容推送到远程,用git push
命令,实际上是把当前分支master
推送到远程。
由于远程库是空的,我们第一次推送master
分支时,加上了-u
参数,Git不但会把本地的master
分支内容推送的远程新的master
分支,还会把本地的master
分支和远程的master
分支关联起来,在以后的推送或者拉取时就可以简化命令。
从现在起,只要本地作了提交,就可以通过命令:
$ git push origin master
下次推送的时候,一定要把本地库和远程仓库匹配,即本地git切换到与远程仓库连接的仓库。把本地master
分支的最新修改推送至GitHub,现在,你就拥有了真正的分布式版本库。
从远程仓库克隆
先在github上创建一个新的仓库
现在,远程库已经准备好了,下一步是用命令git clone
克隆一个本地库:
$ git clone git@github.com:username/gitname.git
Cloning into 'gitname'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
$ cd gitname
$ ls
README.md
注意把Git库的地址换成你自己的,然后进入gitskills
目录看看,已经有README.md
文件了。
如果有多个人协作开发,那么每个人各自从远程克隆一份就可以了。
你也许还注意到,GitHub给出的地址不止一个,还可以用https://github.com/michaelliao/gitskills.git
这样的地址。实际上,Git支持多种协议,默认的git://
使用ssh,但也可以使用https
等其他协议。
使用https
除了速度慢以外,还有个最大的麻烦是每次推送都必须输入口令,但是在某些只开放http端口的公司内部就无法使用ssh
协议而只能用https
。