初学者怎么做php网站,网站建设专题页面,做网站与做游戏那个好,智慧团建pc网页版目录
一、为什么需要git
二、git基本操作
2.1、初始化git仓库 2.2、配置本地仓库的name和email
2.3、认识工作区、暂存区、版本库
三、git的实际操作 3.1 提交文件
3.2 查看git状态以及具体的修改
3.3 git版本回退 git reset
3.1 撤销修改
四、git分支管理
4.…目录
一、为什么需要git
二、git基本操作
2.1、初始化git仓库 2.2、配置本地仓库的name和email
2.3、认识工作区、暂存区、版本库
三、git的实际操作 3.1 提交文件
3.2 查看git状态以及具体的修改
3.3 git版本回退 git reset
3.1 撤销修改
四、git分支管理
4.1 理解分支
4.2 创建分支
4.3 合并分支
4.4 删除分支
4.5 合并冲突
4.6 合并分支的两种模式ff 和 no-ff
4.7 分支策略
五、远程操作
5.1 创建远程仓库
5.2 克隆远程仓库
5.3 推送、拉取操作 一、为什么需要git
先来看看一个场景老板让你写文件 我们可以用到版本控制器git 二、git基本操作
2.1、初始化git仓库
git init 2.2、配置本地仓库的name和email
增加
git config user.name XXX 也可在开头加一个 --global 表示在当前机器的所有仓库上配置
git config user.email XXX
删除
git config --unset user.name XXX
2.3、认识工作区、暂存区、版本库
先来创建一个ReadMe文件 思考ReadMe文件是干什么的
其实就是这个项目的说明书比如项目目的、功能、使用方法等基本信息它可以让其他人一眼看懂项目并为项目的使用和参与提供指导。它是项目开源和共享的重要组成部分。
图解工作区、暂存区索引区、版本库。
暂存区和版本库当中存放的都是git对象库的索引其实也就是通过一个个git对象能拿到不同的文件版本 三、git的实际操作 3.1 提交文件 也可以有多个add一次性commit git log 查看由近到远的提交记录 3.2 查看git状态以及具体的修改
git status 查看哪些文件修改了 git status只能查看文件有没有修改并不能查看具体的修改内容
使用 git diff 查看暂存区和工作区具体的修改 git diff HEAD -- [filename] 查看版本库和工作区的差别 3.3 git版本回退 git reset
本质是回退版本库中的内容 工作区和暂存区回不回退取决于参数 git reset 【--soft | --mixed | --hard】【HEAD 】 --mixed 为默认选项使⽤时可以不⽤带该参数。该参数将暂存区的内容退回为指定提交版本内 容⼯作区⽂件保持不变。 --soft 参数对于⼯作区和暂存区的内容都不变只是将版本库回退到某个指定版本。 --hard 参数将暂存区与⼯作区都退回到指定版本。切记⼯作区有未提交的代码时不要⽤这个命 令因为⼯作区会回滚你没有提交的代码就再也找不回了所以使⽤该参数前⼀定要慎重。 HEAD说明 可直接写成 commit id表⽰指定退回的版本 ◦ HEAD 表⽰当前版本 ◦ HEAD^ 上⼀个版本 ◦ HEAD^^ 上上⼀个版本 ◦ 以此类推 可以使⽤ 〜数字表⽰ ◦ HEAD~0 表⽰当前版本 ◦ HEAD~1 上⼀个版本 ◦ HEAD^2 上上⼀个版本 ◦ 以此类推... 我们这里能够回退是因为我们拿到了 之前版本的 commit id假如没有的话我们就不能这样子操作了
如果我们现在拿不到之前的commit id该怎么补救呢
使用 git reflog 可以查看本地每次的提交命令 我们可以发现版本回退的时候是非常快的为什么呢 3.1 撤销修改
git checkout -- 【filename】撤销工作区暂存区和版本库还得用到git reset 命令
情况一只是撤销工作区
我们可以使用 git checkout -- 【filename】 切记加上 -- 不加就是切换分支的命令了 情况二撤销工作区和暂存区
我们可以用 git reset --mixed HEAD^ 先只把暂存区回退那么就回到了情况一然后再用git checkout 当然我们也可以直接用一步 git reset --hard HEAD 就行了但是不推荐--hard力度太大了回退整个仓库 情况三已经commit了而且没有push
撤销的目的不影响远程仓库的内容 四、git分支管理
4.1 理解分支 4.2 创建分支
git branch 【新分支名字】 我们再来使用git tree 命令来看一下git的结构发生了变化没有 4.3 合并分支
我们要想操作dev分支就需要将HEAD指向dev分支让dev变成工作分支才行
使用 git checkout 【分支名字】 切换分支 我们在dev上进行提交并合并 使用 git merge 合并 4.4 删除分支
使用 git branch -d 【要删除的分支名字】 4.5 合并冲突
merge 冲突需要手动解决并且再进行一次提交 4.6 合并分支的两种模式ff 和 no-ff
模式一 Fast-forward
直接merge就是 ff模式比较简单但是不能看出最新提交到底是merge进来的还是正常提交的 模式二非 Fast-forward 在merge的时候再进行一次commit 4.7 分支策略
介绍分支管理要遵守的原则
master主分支要求比较稳定dev分支是开发人员日常操作的代码还没有经过测试验证 五、远程操作
我们之前的所有操作分支也好addcommit也好都是在本地的仓库进行的并不能做到多人协助开发想要多人开发必须要进行远程操作 也就是用到码云gitee Git 其实是分布式版本控制系统 5.1 创建远程仓库 5.2 克隆远程仓库
1. 使用HTTPS协议
这种比较简单直接就是git clone 远程仓库的https地址就行了。拉下来之后就能看到我们这时候由fetch 和 push的功能 2. 使用 SSH协议
这中就是用到本地的公匙并且在gitee上去配置这种主打一个安全一般公司都是用的这种 我们这时候需要去创建 SSH Key 执行完命令之后就能看到 .ssh文件了 我们将id_rsa.pub 的内容配置到gitee上即可
配置完之后我们就可以直接在本地的xshell上克隆远端仓库了
5.3 推送、拉取操作
我们先来看一下推送也就是本地代码 push到远程
就是执行完commit之后 直接push就好了 拉取
拉取的时候是有两种操作的一种是 git pull 一种是 git fetch这两种区别在于
git pull 会自动执行 git fetch拉取最新版本然后自动执行git merge 拉取分支合并到本地有冲突就自己去解决通过git status 去查看会发现非常干净
git fetch 只是拉取最新版本并不会自动合并