git版本控制工具
一、什么是git
git 官方名称: 分布式版本管理器
通俗解释:就是一个管理我们文件夹的工具,只不过可以保留所有版本信息
- 就是我们安装的一个软件
- 然后这个软件来管理我们的文件夹
- 这个文件夹被git管理后,我们可以对他进行各种操作
- 保证我们写过的内容不会丢失
二、git安装
官网:https://git-scm.com/
打开官网,直接下载

选择自己电脑的操作系统和位数


三、git命令操作
- git是一个软件没错,但是不会生成桌面图标
- 而是需要在 命令行 进行操作的软件
- 我们单击鼠标右键,点击
git bash here ,会出现以下内容

- 点开就是一个命令行窗口
- 可以写一些指令,只不过色彩更鲜艳
- 使用 cmd 或者 powershell 窗口来运行 git 指令也可以
- 只要是在终端运行就行
- OS操作系统直接在 终端 中运行就行
git bash here 表示在当前目录下运行 git bash - 所以你在哪个文件夹下点击的,那么出来的命令行窗口的目录就是哪里
四、本地库使用
1.git分区
git init 在当前目录创建版本库,该目录被git管理
-
当一个文件被 git 管理了以后 -
git 就会对当前文件夹进行 分区 -
会分为三个区域
- 工作区: 我们书写的源码就在工作区里面
- 暂存区: 把我们想要存储的内容放在暂存区
- 历史区: 把暂存区里面的内容拿出来,形成一个历史版本
 向版本库添加文件
- 要先放在暂存区
- 然后才能在暂存区里面放到历史区
- 才能生成一个版本保存下来
2.初始用户名和邮箱,告诉git是谁提交的版本
$ git config --global user.name "Your Name"
$ git config --global user.email "YourEmail@xxx.com"
3.添加内容在暂存区
git add 指令
-
把单独一个文件放在暂存区 # 把文件夹下的index.txt 文本放在暂存区
$ git add index.txt
-
把单独一个文件夹放在暂存区(不能存放空文件夹) # 把文件夹下的src文件夹放在暂存区
$ git add src/
-
把所有文件放在暂存区 # 把文件夹下的所有内容放在暂存区
$ git add --all
#简写
$ git add .
4.暂存区的内容再回拉到工作区
5.添加到历史区
- 暂存区,只是帮我们暂时存放内容,我们删除了还是会丢的
- 要想帮我们保存下来,那么还是需要把暂存区的内容放到历史区
-
git 的历史区,就是把我们暂存区里面的文件形成一个历史版本 -
当一些文件形成一个版本的时候,就会一直记录下来 -
向历史区里面添加内容的时候,必须保证 暂存区 有内容 -
因为 历史区 就是把 暂存区 里面的内容收录进去 -
向历史区添加内容使用 git commit -m "说明" # 把暂存区的内容放到历史区
$ git commit -m "我是第一个版本"
- 我们一定要写一个简单的说明
- 因为当我们的历史版本多了以后,我们也不记得那个版本做了哪些修改
- 所以有个简单的说明会好很多
6.查看日志
-
这时历史区就有了我们的第一个版本 -
我们使用git log 这个指令查看版本信息 # 查看当前历史区版本信息
$ git log

-
commit 版本号 -
Author 作者 -
Date 本次版本的记录时间 -
后面的内容就是提交的时候写的说明 -
git reflog 回退查看原来版本号
7.版本回退

-
我们提交了两次,历史区也有两条信息,也就是两个版本 -
放在历史区的内容,理论上就丢不了了 -
现在我们可以把工作区中的内容删除掉,删除后我们进行历史回退 -
使用git reset --hard 版本编号 # 回退到第一次提交的版本
$ git reset --hard ce0c17f7a703c6847552c7aaab6becea6f0197f2
# 回退到第二次提交的版本
$ git reset --hard abb2c4f12566440e84bc166c3285f855a37a3bb2
-
方法二: git reset --hard HEAD ^ ( ^ 表示回到上一个版本,如果需要回退到上上个版本的话,将HEAD改成HEAD^, 以此类推。那如果要回退到前100个版本,这种方法肯定不方便,我们可以使用简便命令操作:git reset –hard HEAD~100 );

五、GIT远程库
1.注册账号
github:
官网: https://github.com/

gitee:
官网: https://gitee.com/


2.远程库操作
-
开
辟
远
程
库
\color{red}{开辟远程库}
开辟远程库
- 有了
github 账号后 - 我们就登录
github 网站,开辟一个远程仓库 github 的远程库也是以一个仓库一个仓库的形式来保存代码
- 我们可以在 github上保存很多的项目
- 只要一个项目一个仓库就可以了
- 先点击新建仓库

- 填写仓库信息

- 创建成功

g
i
t
e
e
和
g
i
t
h
u
b
操
作
差
不
多
?
\color{red}{gitee和github操作差不多}?
gitee和github操作差不多?
3.添加仓库地址
4.上传
5.克隆
git 克隆就是指把远程仓库里面的内容克隆一份到本地- 可以克隆别人 公开 的仓库,也可以克隆自己的仓库
- 克隆别人的仓库,我们只能拿下来,修改后不能重新上传
- 克隆自己的仓库,我们修改后还可以再次上传
克隆

6.下拉
-
不管你克隆下来的仓库还是别的方式弄来的本地仓库 -
当别人的代码更新以后,你想获得最新的代码 -
我们不需要重新克隆 -
只需要拉去一次代码就可以了 -
下拉指令git pull # 拉取远程最新代码
$ git pull
7.GIT冲突

六、GIT本地分支
1.git分支介绍

2.查看开辟分支

3.切换所处分支
4.git合并分支
-
git 合并分支,只能是把别的分支的内容合并到自己的分支上 -
使用的是git merge # 切换到master分支
$ git checkout
# 把 login 的内容合并到自己的分支
$ git merge login
-
这个时候,我们刚才在login 上开发的东西就都到master 主分支上
5.删除分支
-
先切换到别的分支 -
使用指令git branch -d 分支名称 来删除 # 先切换到别的分支
$ git checkout master
# 删除login分支
$ git branch -d login
6.GIT远程分支
- 查看远程分支
git branch -r

- 创建远程分支(本地分支push到远程 )
git push origin [name]

- 删除远程分支
git push origin :heads/[name]

-
拉取远程仓库 git pull [remoteName] [localBranchName] -
克隆远程分支 $ fit pill -b[远程分支名] [地址]
$ git clone -b product-dev http://github.com/symfony/symfony.git

|