一:Git是什么?
Git诞生于2005年的Linux开源社区。Git是一款免费、开源的分布式版本控制系统,版本控制有本地版本控制系统、集中式版本控制系统(SVN):服务器是中心结点,每次操作都要提交到中心结点上、分布式版本控制系统;这里有人会问GitHub是什么?GitHub和Git是什么关系呢?
Git和GitHub的关系:
打个比方Git就好比电脑上的Dota,而GitHub就好比11对战平台。
如果把Git比作一个本地仓库(单机),那么GitHub就是远程仓库。
Git的优势:
- 速度快
- 设计简单
- 分布式控制
- 允许上千行并行分支
二:Git的入门简要使用
--这里我将演示如何克隆(下载)GitHub(远程仓库)中的文件到本地仓库中并演示如何设置公钥私钥
1:
2:
3:我们直接在文件夹中gitBash 然后
git clone git@github.com:Lay-Buddhist/TheBlog.git
会报错。其原因是因为本地电脑没用和远程GitHub设置公钥4:
5:
6:
7:接下来进入GitHub中的Setting界面点击 SSH & GPG keys 然后点击New SSH key
8:
接下来我们就可以开始clone了!
9:在命令行中输入
git clone git@github.com:Lay-Buddhist/TheBlog.git(你的仓库的SSH) TheBlog(可以新建一个名为TheBlog的文件夹)
。10:
11:
三:Git的一些基本命令
1:git clone git@github.com:Lay-Buddhist/TheBlog.git //把后面远程仓库地址中的仓库下载到本地仓库中
2:git status //查看仓库中文件的状态
3:git add . //将文件夹下的所有文件放入暂存区
4:git commit -am "modify" //将暂存区的文件提交到本地仓库 如果提交参数包含大量字符串可以不加m
5:git push origin master //将本地仓库改动推送到远程仓库中
6:git push //同上是某仓库执行过git push origin master后
7:git pull //远程仓库发生变化 本地仓库没有发生变化,那么git pull就是更新本地仓库
#利用vim编辑器修改文件
vim a.md // 执行该命令打开vim编辑器
i & a 然后回车 进入编辑状态
按esc进入命令命令状态
:wq 是保存退出
:!q是不保存 强制退出
三个小问题
###1:git pull 和 git clone url有什么区别?
git clone 说白了就是将整个git项目拷贝下来,包含了里边的日志信息,项目里的Branch分支,
你也可以切换或直接使用里边的分支。
git pull相当于git fetch和git merge。其意思是先从远程下载git项目里的文件,然后将文件与本地的分支进行merge。
或者可以这么理解:
clone是本地没有resposity时将远程的整个resposity下载下来
pull就是相当于 git merge和git fetch。本地有resposity,将远程中新的commit数据(如果有的话)下载过来并且
和本地代码merge。
###2:本地仓库和远程仓库有什么区别?
举个例子。一个项目,大家一块开发。远程仓库里边就保存着大家共同的代码。比方说我就可以下载远程仓库到自己本机。
进行修改然后push到远程仓库。或者说远程仓库更新后我就可以pull下我的本地仓库。
远程仓库就好比一个线上的互联网服务器,我们的pc机就相当于一个本地仓库。
###3:origin代表什么?
origin保存着我们的仓库地址 。学过js的人可以这么理解 远程的仓库url一大段我们用起来很不方便,那么我们可以创建
一个变量保存该url。这个origin就是保存url的变量。所以origin我们也可以设置成abc等随意设置。默认是origin。
例如:git remote add abc(origin) git@github.com:Lay-Buddhist/TheBlog.git//添加远程仓库的关联
我们这里也说了origin就好比一个变量那么竟然是变量我们就可以修改变量的值。
比方说我们可以修改origin保存的(远程仓库的关联)
git remote set-url origin <newurl>
四:Git Git bash Git shell的区别
git :版本控制工具,支持该工具的网站有Github、BitBucket、Gitorious、国内的osChina仓库、csdn仓库等等。
shell:是linux、unix系统的外壳,也可以理解为命令行,就是你输入并执行命令的地方,git通过命令行和图形界面两种方式使用shell。
bash:是shell的一种,最常用的shell之一。
git Bash:方便你在windows下使用git命令的模拟终端(windows自带的cmd功能太弱)linux、unix可以直接使用git。
git shell:它是安装了git的shell,bash是一种shell。