一、学习Git之前,先要了解一个概念:版本控制
1.版本控制(revision control)是一种在开发过程中用于管理我们对文件、目录或工程的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。
简单来说就是用于管理多人协同开发的技术。
2.版本控制的分类
(1)本地版本控制:指在我们自己的电脑中保存着个人对版本的修改,并不与其他电脑产生联系。
(2)集中版本控制:指所有的版本都保存在公司服务器上,协同开发者需要从服务器上同步更新或上传自己的修改。如果不联网,协同开发者就看不到历史版本。(SVN是集中版本控制)
(3)分布式版本控制:指协同开发者个人电脑和公司服务器都保存着所有的版本。可以离线进行本地提交,只需在联网的时候push到相应的服务器。(Git是目前世界上最先进的分布式版本控制系统)
3.Git与SVN的主要区别
Git SVN
--集中式版本控制系统 --分布式版本控制系统
--没有中央服务器,每个人的电脑都是一个 --版本库集中放在中央服务器中
完整的版本库
--工作的时候不需要联网 --工作的时候需要先从中央服务器
下载版本
二、Git的安装和基本linux命令的使用
1.Git的安装:Git官网下载安装:https://git-scm.com
或淘宝镜像下载安装:https://registry.npmmirror.com/binary.html?path=git-for-windows/
安装成功之后会产生三个软件
Git Hash:与linux风格相似的命令行(最常用)
Git CMD:与windows风格相似的命令行
Git GUI:图形界面的Git
2.基本linux命令行的使用
(1)touch:新建一个文件,如touch index.js
(2)rm:删除一个文件,如rm ./index.js
(3)mkdir:新建一个文件夹,如mkdir test
(4)rm -r:删除一个文件夹,如rm -r test
(5)mv:移动文件,如将index.js文件移动到test文件夹 mv index.js test
(6)clear:清屏;reset:重新初始化终端/清屏
(7)history:查看命令历史
(8)exit:退出
三、Git配置
1.git config -l:获取当前Git的所有配置 (系统配置+个人配置)
2.git config --system --list:获取当前Git的所有系统配置
3.git config --global --list:获取用户自己的配置(登录需要的配置)
Git配置都对应一个文件,在本地进行保存
如git config --system --list:获取当前Git的所有系统配置,对应的文件保存在 Git/etc下的gitconfig文件
如git config --global --list:获取用户自己的配置,对应的文件保存在 C/用户/用户名下的.gitconfig文件
配置用户信息
配置用户名:git config --global user.name "Mrdai"
配置邮箱:git config --global user.email "2502720644@qq.com"
这两个配置是必要的,保证后续登录的成功。
四、Git基本理论
Git本地有三个工作区域:工作目录、暂存区、资源库(本地仓库)。加上远程git仓库就分为四个工作区域。
工作区域的转换关系:
工作目录 ---git add---> 暂存区 ---git commit--->资源库 ---git push--->远程git仓库
远程git仓库---git pull---> 资源库 ---git reset --->暂存区 ---git checkout --->工作目录
五、Git项目搭建
1.方式一:使用 git init命令
2.方式二:克隆远程仓库 git clone url(如gitee或github上的克隆连接)
六、Git忽略文件
有些时候我们不想把某些文件纳入版本控制中,比如数据库文件、临时文件等。
这时需要在根目录下创建 .gitignore文件进行配置,常用配置规则如下:
(1) #为注释
(2) *.txt表示忽略所有以.txt结尾的文件
(3) !lib.txt表示lib.txt文件不被忽略
(4) /TODO表示仅忽略项目根目录下的TODO文件,不包括其他目录下的TODO文件
(5) /dist表示忽略dist目录下的所有文件
(6) doc/*.txt表示忽略doc目录下的所有.txt文件,但是不包括其他目录下的txt文件(如doc/xx/.txt文件)
七、注册登录gitee(码云)后设置ssh公钥
1.为什么要配置ssh公钥?
Git使用https协议,如果不设置ssh公钥,那么我们每次push的时候都会需要填写gitee密码(实测clone和pull方式连接远程仓库,push的时候并没有填写密码,哪里有问题还请指教。),这样比较麻烦,而且会有安全问题,所以设置ssh公钥是必要的。
2.设置方法
首先需要知道ssh公钥和私钥都是保存在C:\Users\25027\.ssh路径中。
在任意位置打开终端,输入如下命令:ssh-keygen -t rsa ,然后一直回车即可。
之后就会在 C/user/25027/.ssh路径看到生成的公钥和私钥
打开公钥,复制所有内容,将复制的内容,粘贴到gitee的填写公钥位置即可
点击确定即可生成ssh公钥
八、Git的相关操作和分支介绍
1.Git相关操作
git add . 表示将出现过变动的所有文件或新文件提交到暂存区。
git commit -m '提交描述信息' 表示将暂存区中的文件添加到本地仓库。
git push 表示将本地仓库中的文件提交到远程gitee仓库
git status 表示查看当前分支的状态
2.分支介绍
分支在协同开发中起到很重要的作用,因为不同分支上的内容互不干扰。
再比如说,需要向项目中添加一个新功能,一般的团队都不会直接在主分支(master)上修改,都会新建一个分支,在上面更改代码。这样做的好处就是保证主线代码的完整性和可用性,也就是说,主线上都是稳定的代码,可以直接拿来发布的。
基本分支操作
git branch 查看当前所处分支(也会展示所有分支)
git branch -r 查看远程仓库所有分支
git branch 分支名 在当前分支上创建一个新分支,依然停留在当前分支
git checkout -b 分支名 新建一个分支,并切换到当前分支
git checkout 分支名 切换分支
git merge 分支名 将分支名合并到当前分支
git branch -d 分支名 删除分支
git push -u origin 分支名 将新创建的分支提交到远程仓库(因为远程仓库并没有新创建的分支)
git push origin --delete 分支名 删除远程仓库分支
九、创建gitee仓库和向仓库中提交代码
1.创建gitee仓库
创建成功
2.向仓库中提交代码
向仓库中提交代码之前需要先将本地与远程gitee仓库相连
(1)方式一:clone
1.点击仓库的 克隆/下载 按钮复制连接,在项目文件夹中运行代码 git clone 连接
2.运行,获得gitee仓库文件
3.将test123文件夹中的代码复制到你的项目文件夹即可完成本地与远程gitee仓库的链接(如我将test123文件夹中的文件复制到test文件夹)
4.比如我们创建一个index.html文件,将此文件提交到仓库
(2)方式二:初始化(init),然后连接远程gitee仓库
1.首先在一个新文件夹(如newTest)初始化git :git init
2.将本地代码库与远程gitee仓库(还是test123仓库)相关联 git remote add origin 连接
下载远程仓库文件(master分支) git pull --rebase origin master 需要下载哪条分支就可以用分支名代替master即可
如果push的时候报这种错误
这是因为本地分支没有与远程分支建立联系
输入以下代码即可 git push --set-upstream origin master,表示与master分支建立联系。
如果在push的时候没有问题,说明已经将新分支提交到远程仓库
3.然后即可进行后续操作