当前位置:首页 » 《资源分享》 » 正文

git版本控制工具_敲代码好难的博客

8 人参与  2021年09月28日 07:04  分类 : 《资源分享》  评论

点击全文阅读


git版本控制工具

一、什么是git

git 官方名称: 分布式版本管理器

通俗解释:就是一个管理我们文件夹的工具,只不过可以保留所有版本信息

  • 就是我们安装的一个软件
    • 然后这个软件来管理我们的文件夹
    • 这个文件夹被git管理后,我们可以对他进行各种操作
    • 保证我们写过的内容不会丢失

二、git安装

官网:https://git-scm.com/

打开官网,直接下载

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

  • 下载好后,直接安装

  • 一直下一步就可以了

  • 检测是否安装成功,在命令行窗口输入

    # 检测是否安装成功
    $ git --version
    

三、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.暂存区的内容再回拉到工作区

  • 把已经放在暂存区的内容在拉回到工作区

    # 拉回暂存区的 index.txt 文件
    $ git reset  HEAD -- index.txt
    
    # 拉回暂存区的 ceshi 文件夹
    $ git reset HEAD -- ceshi/
    
    # 拉回暂存区的 所有文件
    $ git reset HEAD -- .
    
    //注意: -- 两边都有空格, 拉回所有文件的时候,有一个 .
    

5.添加到历史区

  • 暂存区,只是帮我们暂时存放内容,我们删除了还是会丢的
  • 要想帮我们保存下来,那么还是需要把暂存区的内容放到历史区
  1. git 的历史区,就是把我们暂存区里面的文件形成一个历史版本

  2. 当一些文件形成一个版本的时候,就会一直记录下来

  3. 向历史区里面添加内容的时候,必须保证 暂存区 有内容

  4. 因为 历史区 就是把 暂存区 里面的内容收录进去

  5. 向历史区添加内容使用 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.远程库操作

  1. 开 辟 远 程 库 \color{red}{开辟远程库}

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

在这里插入图片描述

  1. 填写仓库信息

在这里插入图片描述

  1. 创建成功

在这里插入图片描述

g i t e e 和 g i t h u b 操 作 差 不 多 ​ \color{red}{gitee和github操作差不多}​ giteegithub

3.添加仓库地址

  • 接下来,就要使用 git 上传代码了

  • 我们先要告诉 git 上传到哪里

  • 也就是给 git 添加一个上传的地址

  • 使用 git remote add origin 仓库地址 来上传

    # 在项目文件夹下打开 gitbase
    # 添加仓库地址
    $ git remote add origin https://gitee.com/****/H5.git
    // remote	远程的意思
    //add	    添加的意思
    //origin	是一个变量名
    

4.上传

  • 上传到哪里的地址我们已经添加好了

  • 接下来就是上传内容了

    • 上传要保证 历史区 里面有内容
    • 上传的过程会把 历史区 里面所有的内容上传到云端
  • 我们使用git push 指令来上传

    # 上传内容
    $ git push -u origin master
    # 表示把内容上传到origin这个地址
    # master 是上传到远程的 master 分支
    
    • -u 是我们第一次上传的时候使用到的,是为了记录一下你的用户名密码
    • 下次上传就不需要再写了
  • 第二次上传

    # 第二次上传
    $ git push
    
    • 第二次上传的时候,因为有刚才的记录,就不需要在写originmaster
    • 会默认上传到origin 这个地址的master 分支上
    • 到这里,就完成了一次git 推送
    • 这个时候本地的文件夹就真的可以删除了
    • 因为远程仓库有一份我们的内容,本地的就可以删除了,可以直接把远程的拉回来就行

5.克隆

  • git 克隆就是指把远程仓库里面的内容克隆一份到本地
  • 可以克隆别人 公开 的仓库,也可以克隆自己的仓库
  • 克隆别人的仓库,我们只能拿下来,修改后不能重新上传
  • 克隆自己的仓库,我们修改后还可以再次上传

克隆

  • 复制好地址后,选择一个我们要存放内容的文件夹(这里以桌面为例)

  • 直接在想存放内容的位置打开 git bash

  • 输入克隆指令 git clone 仓库地址

    # 直接克隆仓库
    $ git clone https://gitee.com/*****/H5.git
    
    • 克隆指定版本git clone http://github.com/symfony/symfony.git -b v2.0.9

    • 克隆远程分支git clone -b 远程分支名 http://github.com/symfony/symfony.git

在这里插入图片描述

6.下拉

  • 不管你克隆下来的仓库还是别的方式弄来的本地仓库

  • 当别人的代码更新以后,你想获得最新的代码

  • 我们不需要重新克隆

  • 只需要拉去一次代码就可以了

  • 下拉指令git pull

    # 拉取远程最新代码
    $ git pull
    

7.GIT冲突

  • git 冲突是指在我们的上传过程中

  • 本地的版本和远程的版本不一致导致的

  • 这个时候只要先使用git pull 拉取回来

    • 让本地和远程保持一致
  • 然后再重新上传就好了

  • 但是git pull 相对不安全,因为会自动和本地内容合并

  • 我们也可以使用git fetch

    # 使用fetch 获取远程最新信息并开辟一个一个临时分支
    $ git fetch origin master:tmp
    
    # 将当前分支和临时分支的内容进行对比
    $ git diff tmp
    
    # 再选择合并分支内容
    $ git merge tmp
    

在这里插入图片描述

六、GIT本地分支

1.git分支介绍

  • git 分支,就是我们自己把我们的整个文件夹分成一个一个独立的区域

    • 比如我们开发 登录 功能,可以放在 login 分支下进行开发
    • 开发 列表 功能的时候,可以放在 list 分支下进行开发
    • 大家互不干扰,每一个功能都是一个独立的功能分支
  • 这样开发就会好很多

  • git 在初始化的时候,会自动生成一个分支,叫做 master

  • 表示主分支的意思,我们可以开辟很多独立分支

在这里插入图片描述

2.查看开辟分支

  • 开辟一个分支使用git branch 分支名称 指令

    # 开辟一个login分支
    $ git branch login 
    
  • 查看当前分支情况

    # 查看当前分支情况
    $ git branch
    

在这里插入图片描述

  • 会看到,当前有两个分支了

  • 一个是master ,一个是 login

  • 前面有一个 * ,表示你当前所处分支

  • 我们对 登录 功能的开发要移动到 login 分支去完成

3.切换所处分支

  • 我们切换所处分支使用 git checkout 分支名称

    # 切换到 login 分支
    $ git checkout login 
    
  • 然后我们在整个分支上进行 登录 功能的开发

  • 开发完毕后,我们就在当前分支上进行提交

4.git合并分支

  • git 合并分支,只能是把别的分支的内容合并到自己的分支上

  • 使用的是git merge

    # 切换到master分支
    $ git checkout 
    # 把 login 的内容合并到自己的分支
    $ git merge login  
    
  • 这个时候,我们刚才在login 上开发的东西就都到master 主分支上

5.删除分支

  1. 先切换到别的分支

  2. 使用指令git branch -d 分支名称 来删除

    # 先切换到别的分支
    $ git checkout master
    # 删除login分支
    $ git branch -d login
    

6.GIT远程分支

  1. 查看远程分支git branch -r

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

  1. 拉取远程仓库

    git pull [remoteName] [localBranchName]

  2. 克隆远程分支

    $ fit pill -b[远程分支名] [地址]
    $ git clone -b product-dev  http://github.com/symfony/symfony.git   
    

在这里插入图片描述


点击全文阅读


本文链接:http://zhangshiyu.com/post/28893.html

分支  内容  版本  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1