Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。怎么分布呢?最早,肯定只有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且每台机器的版本库其实都是一样的,并没有主次之分。
pull:从别人的(远端)仓库更新到自己的(本地)仓库。
push:把自己的(本地)仓库更新到别人的(远端)仓库。
使用远程仓库
在学习Git使用远程仓库的过程中,我们首推Github,因为soon or later,作为一个程序员,你都会在github上安家。
本地创建SSH Key
github远程仓库与本地仓库之间通信使用ssh进行加密,所以,你必须在本机设置ssh key:
Github添加公钥
登录github,将上面生成的SSH公钥添加到你的账号。
本地SSH公钥存放位置在USER_HOME\.ssh\id_rsa.pub
可以往github中添加多个公钥(如果你在多台机器上开发,或你的github仓库有多个提交者),以方便协同开发。
在本地克隆远程仓库
首先在Github上创建仓库,然后查看克隆仓库的SSH连接信息。
选择一个本地文件夹,执行git clone git@github.com:gyzhang/learngit.git
命令,将远程仓库克隆到本地。
注意,如果你选择的路径是D:盘根目录
,则克隆的仓库就在D:\learngit
目录。
本地克隆仓库,已经将远端仓库的内容拉取下来。
查看本地库的状态,可以看到Your branch is up-to-date with 'origin/master'.
,远端仓库是origin
,本地仓库是master
。
添加远程仓库
如果先有本地仓库,后有远端仓库,想让这两个仓库进行远程同步,则可以为本地仓库添加远端仓库。
首先在本地目录D:\studygit
下执行git init
创建一个空的git仓库。然后执行
git remote add origin git@github.com:gyzhang/learngit.git
,将远端仓库添加到本地仓库。
可以理解为:将远端仓库连接到本地仓库。
执行命令git pull origin master
将远端仓库(origin)内容拉回到本地仓库(master)。
获取远端仓库更新
本地仓库执行git pull
即可拉取远端仓库的更新。
向远端仓库推送更新
根据需要,在本地仓库对文件进行修改,提交。然后执行git push
命令,将本地仓库的修改推送到远端仓库。
可以在远端github上看到推送的修改。