Git 目前世界上最先进的分布式版本控制系统
版本控制系统:
手动控制
自动控制系统
Git与Github的区别
Git安装:
Git的使用: 1.本地仓库 1.1 工作流程: git本地操作的三个区域
- Git Repository(Git仓库)
- 最终确定额文件保存到仓库,成为一个新的版本,并且对他人可见
- 暂存区
- 暂存已经修改的文件最后统一提交到git仓库中
- 工作区(Working Directory)(写代码工作目录)
- 添加、编辑、修改文件等动作
暂存区的作用:等待所有修改完成,统一提交commit

git add test.php 添加到暂存区
git status
1.2 本地仓库操作 repository 每个文件的修改,删除等操作都能跟踪到
1.进行全局配置操作
$ git config --global user.name "用户名"
$ git config --global user.email "邮箱地址"
2.创建仓库 创建一个空目录: windows中创建 命令行中创建
$ mkdir pro_name
在命令行中进入这个目录
Git仓库初始化(让git知道,自己需要管理这个目录)
进入到工程目录初始化
$ git init
在任意位置,初始化指定的工程目录
$ git init newrepo
表现,执行之后,会在项目目录下创建".git"的隐藏目录,这个目录是Git所创建的,不能删除,也不能随意更改其中的内容。
Git常用指令操作 查看当前状态:git status
添加到缓存区: git add 文件名
说明:git add 指令,可以添加一个文件,也可以同时添加多个文件。
语法1:git add 文件名 添加一个文件
语法2:git add 文件名1 文件名2 文件名3
语法3:git add . 添加当前目录到暂存区中
提交至版本库: git commit -m “注释内容”
注释可以写中文
Git的版本回退操作
版本回退分为两步骤操作:
步骤:
1.查看版本,确定需要回到的时刻点
指令:
$git log
$git log --pretty=oneline 显示一行,常用
2.回退操作
指令:
$git reset --hard 提交编号
3.注意:回到过去之后,想要再回到之前最先的版本的时候,需要使用指令去查看历史操作,以得到最新的commit id
指令:
$git reflog
小结: 1.要想回到过去,必须先得到commit id ,然后通过git reset –hard 进行回退 2.想要回到未来,需要使用 git reflog进行历史操作查看,得到最新的commit id 3.在写回退指令的时候,commit id可以不用写全,git会自动识别
2.远程仓库
2.1远程仓库创建
2.2两种常见的使用方式 HTTPS协议使用 1.创建一个空目录
2.使用clone指令克隆线上仓库到本地
语法:
$git clone 线上仓库地址
3.在仓库上做对应的操作(提交暂存区,提交本地仓库,提交线上仓库,拉取线上仓库)
提交到线上仓库的指令:$git push
首次往线上仓库提交内容时出现403致命错误,原因是: 不是任何人都可以往线上仓库提交内容,必须进行鉴权
需要修改,".git/config"文件
拉取线上仓库的指令: $git pull
提醒: 在每天工作的第一件事就是先git pull 拉取线上最新的版本 每天下班前要做的是 git push 将本地代码提交到线上仓库
基于ssh协议
该方式与前面的https方式相比,只是影响github对于用户的身份鉴权方式,对于git的具体操作(如,提交本地,添加注释,提交远程等操作没有任何影响)
生成私钥对指令(需要先自行安装openssh):$ssh-keygen -t rsa -C "注册邮箱"
步骤,创建公私钥对文件
上传公钥文件内容(.ssh/*.pub)
一般使用的设备固定,推荐使用ssh方式
Git的分支操作 在版本回退的章节里,每次提交后都会有记录,Git把他们串成时间线,形成类似于时间轴的东西,这个时间轴就是一个分支,我们称之为master分支
在开发的时候往往是团队协作,多人进行开发,因此光有一个分支是无法满足多人同时开发的需求,并且在分支上工作,并不影响其他分支的正常使用
分支相关指令
查看分支:
$git branch
创建分支:
$git branch 分支名
切换分支:
$git checkout 分支名
$git checkout -b 分支名
-b选项表示创建并切换,相当于是两个操作指令
合并分支:
$git merge 被合并的分支名
删除分支:
$git branch -d 分支名
注意:在删除分支的时候,一定要先退出要删除的分支,然后才能删除