目录
Git自学与掉坑实录(一)
· 创建版本库
· 添加提交文件至版本库
Git自学与掉坑实录(二)
· 本地文件的修改与提交
· 多版本之间的切换
· 查看版本历史
· 忽略特殊文件
Git自学与掉坑实录(三)
· 工作区、暂存区、版本库的概念
· 进行到各个阶段管理(添加、删除、恢复、修改)文件的方法
**Git自学与掉坑实录(四) **
· 远程仓库
· Github的入门说明
· 参与开源项目
Git自学与掉坑实录(五)
· 管理(创建、合并、删除)分支
· 解决冲突
· Fast forward模式与禁用(是否显示合并信息)
· bug分支
· 功能分支
· 多人协作(查看信息、推送远程库、抓取)
Git自学与掉坑实录(六)
· 创建标签
· 删除标签(本地与远程)
Git自学与掉坑实录(七)
· 显示代码颜色
· 忽略文件与强制添加某些忽略文件
· 搭建Git服务器
</br>
最近几天的内容都是概念的学习,有了前几天的铺垫这些知识点扫盲都很容易理解。这部分的主要内容就是教会我们怎么使用Github,想要快速上手的同学可以直接看这章。
九、远程仓库
是Git的杀手级功能之一。Git是分布式版本控制系统,最早只有一台机器有一个原始版本库,后来别的机器可以“克隆”这个原始版本库。之后的每台机器的版本库其实都是一样的,没有主次之分。
我们一般不会为了学Git去搭建一台的服务器,于是,GitHub这个网站就应运而生了。它是提供Git仓库托管服务的,只要注册一个GitHub账号,就可以免费获得Git远程仓库。
1.注册GitHub账号
2.设置SSH
本地Git仓库和GitHub仓库之间的传输是通过SSH加密的。
</br>
· 用户主目录下,没有".ssh"目录时,创建SSH Key。
输入命令$(创建SSH Key)ssh-keygen -t rsa -C "youremail@example.com"
然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。
</br>
· 查看".ssh"目录下是否有"id_rsa"和"id_rsa.pub"两个文件。
这两个是SSH Key的秘钥对,"id_rsa"是私钥,不能泄露出去,"id_rsa.pub"是公钥,可以放心地告诉任何人。
</br>
· 登陆Github,打开"Account settings","SSH Keys"页面,点击"NEW SSH Key"。
</br>
· 填写任意title,在Key文本框粘贴"id_rsa.pub"文件的内容。
</br>
· 点击"Add SSH Key"完成。
GitHub需要SSH Key是为了识别出推送的提交确实是你推送的,并且Git支持SSH协议。因此,GitHub知道了你的公钥,就可以确认你的身份。
另外,廖雪峰老师友情提示,在GitHub上免费托管的Git仓库,任何人都可以看到喔(只有你有修改权限)。所以,不要把什么羞羞的放进去。
如果不想被别人看到,一个办法是交保护费;另一个办法就是自己搭建Git服务器。
<br />
十、添加远程库
之前的章节,我们在本地创建了一个Git仓库,详情可见第三部分 本地版本库管理,接下来我们还要在Github上再创建一个远程仓库,并且让这两个仓库进行远程同步。
1.在Github创建一个新仓库,点击"New repository"
<br />
2.填写仓库名,点击完成,成功创建一个新仓库。
<br />
3.现在我们选择与本地仓库关联
· 输入命令$(在本地的learngit仓库进行)
cd learngit
;· 输入命令$(关联远程库)
git remote add origin git@github.com:Github用户名/learngit.git
;
"origin"是远程库的名字,这是Git默认的叫法。
· 输入命令$(把本地库的所有内容推送到远程库上)git push -u origin master
;
git push
命令,实际上是把当前"master分支"推送到远程库。
由于远程库是空的,我们第一次推送"master分支"加上了- u
参数。Git不但会把本地的"master分支"内容推送的远程新的"master分支",还会把本地的"master分支"和远程的"master分支"关联起来,在以后的推送或者拉取时就可以简化命令。
*当你第一次使用Git$
clone
或$push
连接Github时,会看到一个警告:
输入yes
回车,出现
推送命令成功。
· 刷新GitHub,可以看到文件同步成功。
<br />
十一、从远程库克隆
1.在Github再创建一个新仓库,命名"gitskills","勾选Initialize this repository with a README"
<br />
2.克隆到本地库
输入命令$(从远程库克隆到本地库)git clone 远程库地址
;
首先必须知道远程库的地址,建议使用SSH:
在我的理解,克隆跟下载有点类似,把远程库的文件内容下载一份到本地库, 这也是多人协作开发的基础。
<br />
3.参与一个开源项目
以人气极高的bootstrap项目为例。
打开bootstrap项目,点"Fork"就在自己的账号下克隆了一个bootstrap仓库,然后,从自己的账号下clone:
输入命令$git clone git@github.com:用户名/bootstrap.git
要从自己的账号下clone仓库,你才有权限推送修改。
<br /><br />
小结
$
git --version
#查看git版本。
$mkdir filename
#创建一个空目录。
$cd filename
#前往该目录。
$pws
#显示当前目录路径。
$git init
#初始化目录。
$git add file
#添加文件到仓库。
$git commit -m "aaa "
#提交文件到仓库,并说明aaa。
$git remote add origin git@server-name:path/repo-name.git
#关联一个远程库。
$git push origin master
命令 #把当前"master分支"最新修改推送到远程库。
$git push -u origin master
#第一次推送"master分支"所有内容时。
$git clone 远程库地址
#从远程库克隆到本地库,必须要知道远程库的地址。
· Github其实就是一个远程仓库,远程服务器。
· Git支持多种协议,如"git://"、"https"等。但通过ssh支持的原生git协议速度最快。
· 要参与开源项目时,要先"Fork"到自己的账号,再克隆到本地。
<br /><br /><br /><br /><br /><br /><br />