git基本概念
是一个开源的分布式的版本控制系统,可以有效的高速的处理从小到大的项目管理工具。git是世界上最先进的分布式版本控制工具。
什么是版本控制工具:就是开发的过程中一个软件的使用技巧,可以确保不同人所编辑的代码都是统一的,并且可以在多人之间进行代码的传递与合并。
透过文档来进行记录,哪些地方改动了会给每次的改动进行一个标记,方便下次回退到当前版本。
SVN是集中式版本控制工具的代表
集中式:就是版本库集中的存放在中央服务器中,而且工作的时候需要把自己的电脑从中央服务器中拉取代码,干完活后还需要把代码推送到中央服务器
Git是分布式版本控制工具的代表
分布式:没有了中央服务器的概念,每一人电脑上面都是一个完整的版本库,在工作的时候就不需要联网,因为版本库就在我们的电脑当中。其实在分布式的版本控制过程中,也有一个类似于中央服务器的东西,但是这个东西仅仅是方便大家交互代码上的修改
集中式和分布式的优缺点
集中式最大的问题就是需要联网才可以工作,在局域网中可以直接快速的链接(带宽大,速递快)在互联网上访问服务器可能就会因为自身网速问题耽误开发进度
分布式安全性高因为每个人电脑上都有-一个完整的版本库,如果其中某-一个人电脑坏了那么随便找-一个人复制- - 下版本库就可以了但是集 中式如果这个中央服务器出了问题那么所有人都没有办法干活
git 和 github的区别
git
是一个安装在电脑上的“软件”,管理本地文件夹,把本地的代码上传到github或者gitee。
github/gitee
一个网站,用来接收git上传的代码,代码仓库
Github:开源的软件项目托管平台 git 是唯一的版本控制工具
Gitee 开源中国https://www.oschina.net/开发的一 款基于git 的代码托管平台。能够实现各种代码的相关管理,是国内最大的托管平台(速度快支持免费的隐私项目)
仓库是什么样
当文件夹被git管理以后,git会把文件夹虚拟的分为三个位置
工作区:所有写的代码,文件,文件夹都在这里
暂存区:存放需要形成历史版本的文件,它和工作区,历史区相互交流。只要暂存区里面的东西没有生产历史版本就会一直保存(.git不能删除)
历史区:它只能把暂存区里面的文件形成一个历史版本,可以上传到远程。已经形成的历史版本,会一直保存(.git隐藏文件不能删除)
历史版本查看说明
// 历史版本 id, 每一个历史版本有一个历史版本 id commit后面的数字字母
commit 9ee389766c1a08cd43d90585a81911892db094d9
// 作者: 一开始我们在全局配置的内容
Author: wdbbdpd223322 <m13301295501_1@163.com>
// 形成历史版本的时间
Date: Thu Feb 27 11:16:16 2020 +0800
// 刚才形成历史版本的时候写的说明
第一个版本
(index.html h1 h2)
git的安装
1.去https://git-scm.com/官网下载
2.检测是否安装成功
方法一:打开命令行,输入git --version指令,出现版本号
方法二:找一个空白位置,鼠标右键,出现git bash here 和git GUI here
3.首次安装需配置一些全局项
a:检测全局配置项:打开命令行——输入git config --list指令
b:配置全局用户名:打开命令行——输入git config --global user.name "你的名字"
名字:英文,随便起
c:配置全局邮箱:打开命令行——输入git config --global user.email "你的邮箱"
邮箱:真实的
4.卸载:控制面板直接卸载
三 git的基本使用流程
1.打开文件夹,鼠标右击,点击git bash here(mac用命令行打开),输入git init指定初始化,当前目录会多一个.git的隐藏文件
查看文件夹内容 ls -a
2.从工作区添加内容到暂存区,用指令操作(git不能操作空文件夹)
a:查看暂存区:git status
b:添加一个文件到暂存区:git add 文件名
c:添加一个文件夹到暂存区:git add 文件夹名/
d:所有文件添加到暂存区:git add --all(简写:git add . add 后面有个小点不要忘)
3.把暂存区内容拉回工作区(暂存区里面内容需要修改)
a:拉回单独一个文件:git reset HEAD --文件名
b:拉回单独文件夹:git reset HEAD --文件夹名/
c:拉回暂存区所有文件:git reset HEAD -- .
4.暂存区文件形成历史版本
a:把暂存区所有代码形成历史版本:git commit -m "本次版本说明,中英文无所谓"
形成历史版本之后,暂存区里面没有文件和代码
b:查看当前历史版本:git log
注意:每一次修改,过程都需要重新走一遍。(git add . —— git commit -m "说明")
5.历史版本退回(查看之前版本内容,或修改)
回退历史版本:git reset --hard 你要退回到的历史版本id
6.查看所有日志记录:git reflog
7.上传到远程仓库(GitHub为例)
a:进入GitHub官网,点击有上角+里面的new repository,新建一个远程仓库。添加参考名称(repository name),创建
b:告诉本地git上传到哪个仓库,输入指令:git remote add origin 你的远程仓库地址
总结上传步骤
1.git init
2.git add .
3.git commit -m "说明"
4.git remote add origin 地址
5.git push -u origin master (第一次上传,后面再上传直接 git push )
下载项目
git clone 远程仓库的地址(如果是克隆的话,不需要git init 初始化)
拉取操作
Git pull 拉取的地址 拉取的分支名
四 git分支
git的分支就是git的必杀技每个版本控制工具都会支持分支,使用分支可以让我们从开发的主线上分离出来,然后在不影响主线工作的同时继续 工作。
git的分支切换的时候非常快
1.查看当前分支:git branch
2.创建一个分支:git branch 创建的分支名称
3.切换分支:git checkout 切换的分支名称
4.新增加切换:git checkout -b 新的分支名
5.分支的删除:git branch -d 删除的分支名
注意:在删除分支的时候必须切换到其他分支之后才能删除自身
注意:使用-d的这种删除操作,只有在合并之后才可以删除,并没有合并分支不能删除(就是保住大家不会误删除)
6.修改分支名:git branch -m 要修改的分支名 新名字
5.合并分支:git merge 合并的分支名称
注意:要向主分支合并的话必须切换到主分支(git checkout master 之后再进行)