在GitHub创建仓库
- 创建GitHub账号
- 登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个远程仓库
设置SSH秘钥
- 创建SSH秘钥:由于使用SSH作为本地和远程仓库的通信协议,需要在本地创建SSH秘钥
$ ssh-keygen -t rsa -C "邮箱地址"
如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥
- 登陆GitHub,打开“Account settings”,“SSH Keys”页面,然后,点“Add SSH
Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容。
GitHub允许你添加多个Key,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。
添加远程仓库
$ git remote add origin [远程仓库的地址,如git@github.com:abc/abc.git]
远程仓库的使用
- 完成以上步骤就已经将远程仓库和本地仓库进行了绑定
git push
- 将本地仓库推送到远程仓库
$ git push -u origin master
- 上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。
$ git push origin master
- 正常可使用此命令推送
git clone
$ git clone [版本库的网址] [本地目录名]
$ git clone git@github.com:abc/abc.git
- git支持多种协议,包括SSH或者是HTTPS协议
- 该命令会在本地主机生成一个目录,与远程主机的版本库同名。如果要指定不同的目录名,可以将目录名作为git clone命令的第二个参数
分支管理
- 分支管理用于多人协同开发
- A,B,C三人可以各自从远程仓库建立自己的分支,并各自在自己的分支上工作,互不打扰
- 当三人完成自己的工作后可以将各自的分支向master分支合并
创建与合并分支
- 在学习版本回退部分时,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。
- 一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点
- 当我们创建新的分支,例如dev时,Git新建了一个指针叫dev,指向master相同的提交,再把HEAD指向dev,就表示当前分支在dev上
- 假如我们在dev上的工作完成了,就可以把dev合并到master上,直接把master指向dev的当前提交,就完成了合并
创建分支
$ git checkout -b dev
- 以上命令表示创建dev分支并切换到dev分支
$ git branch
- dev
master
- 用git branch命令查看当前分支
- git branch命令会列出所有分支,当前分支前面会标一个*号
- 后面所做的操作都是在dev分支上进行的
$ git checkout master
- 使用checkout命令切换到master分支上
$ git merge dev
- 将dev分支的工作成果向master分支上合并
- git merge命令用于合并指定分支到当前分支
$ git branch -d dev
- 删除dev分支