远程仓库
Git是分布式版本管理系统,每个客户端节点都是一个完整的版本仓库,节点之间可以互相同步,这样即使在没有网络的情况下,也可以在自己本机的仓库进行修改提交,等到有网络时,在推送修改内容至远程仓库,远程仓库是公共的,其他人就可以同步你提交的内容。
GitHub和码云均能提供Git远程仓库,远程仓库可以通过SSH加密的方式进行通讯,则需要生成公钥并添加至GitHub或码云中,此后则可以与远程仓库直接进行同步。
创建SSH Key:
ssh-keygen -t rsa -C "youremail@example.com"
将生成的公钥添加至GitHub中:
添加远程仓库
首先在本地仓库建立远程仓库,输入以下命令
git remote add origin git@github.com:daiwuliang/learngit.git
其中origin为远程仓库的名称,git@github.com:daiwuliang/learngit.git 为仓库地址
下一步将本地仓库推送至远程仓库中:
# git push -u origin master
对象计数中: 12, 完成.
Delta compression using up to 4 threads.
压缩对象中: 100% (9/9), 完成.
写入对象中: 100% (12/12), 959 bytes | 479.00 KiB/s, 完成.
Total 12 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), done.
To github.com:daiwuliang/learngit.git
* [new branch] master -> master
分支 'master' 设置为跟踪来自 'origin' 的远程分支 'master'。
把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。
由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令:
git push origin master
或者:
git push
从远程克隆
当已有一个远程仓库,只需要运行命令将远程仓库克隆至本地:
git clone git@github.com:daiwuliang/learngit.git