• 27_Git&GitHub


    一、git和github

    • git和github是两个内容
      • 就像java和javascript
      • 就像周杰和周杰伦
    • 掌握几个概念
      • 本地: 我自己的终端
      • 远程: 在网络另一头的终端
      • 仓库: 被git管理的文件夹
    • git
      • 官方: 分布式的版本管理工具
      • 我们平时在写代码的时候
        • 代码经常要修改
        • 如果不保存多个版本的文件夹,一旦出bug,就回不去正常版本了
        • 如果保存多个版本的文件夹,不知道每个版本修改的内容
      • git就是帮我们管理我们代码的版本的工具
        • 可以记录我们所有的版本信息
        • 既然是工具,就要先安装才能使用
    • github
      • 是一个网站的名称
      • 里面注册了很多的开发人员,并且是全世界的开发人员
      • 这个网站可以让开发人员把代码上传上去
      • 你可以在上面下载被人上传的代码
      • 也可以把你写好的插件/库/项目上传上去,给别人用
      • github网站只接收git上传的代码,所以名字有git这几个字
      • 是一个世界级的网站,英文的,服务器在国外
      • 国内也有很多这样的网站,比较有名的是:码云
      • 码云:https://gitee.com

    二、安装git

    • 安装git
      • git是一个工具,所以需要安装才能使用
      • 官网下载:https://git-scm.com
      • 下载完成以后,双击Git-2.22.0-64-bit.exe
      • 一直next,就可以了
    • 检测git
      • 在命令行输入: git --version
      • 出现版本号就是安装成功了
    • 使用git
      • 方法1:
        • 可以在任意位置鼠标右键
        • 选择git bash here,就可以打开git操作的命令行工具
      • 方法2
        • 可以在任意位置打开cmd
        • 在命令行可以进行git操作
      • 一般使用方法1,方法1彩色的好看,但其实两种方法都可以

    三、git使用流程

    • 自报家门 – 一个终端做一次就可以了
      • 打开命令行工具
      • 输入:
        • 第一个指令: git config --global user.name “你的开发名”
        • 第二个指令: git config --global user.email “你的工作邮箱”
      • 检测是否配置成功:
        • 指令: git config --list
    • git初始化
      • 就是把我们的项目文件交给git管理
      • 在项目根目录运行
      • 指令:git init
      • 在项目目录中就多了一个隐藏的文件夹.git
      • 里面会记录你的项目的所有版本信息
      • 不能删除,删除以后你的版本信息就丢失了
      • 我们的项目文件夹被分成了三个区域
        • 工作区:就是我们能看见的写代码的地方
        • 暂存区:就是形成一个历史版本
        • 本地仓库: 历史版本的存放区域
      • 代码从本地上传到远程: 工作区=>暂存区=>本地仓库=>远程仓库
      • 代码从远程下载到本地: 远程仓库=>本地仓库

    四、从工作区添加到暂存区

    • 存储到暂存区的不是文件,是文件的变化
    • 指令
      • git add 要放到暂存区的文件路径
      • git add 要放到暂存区的文件夹路径
      • git add --all 把所有文件放到暂存区可简写: git add .
    • 查看git管理的文件的状态
      • 指令: git status
      • git不能管理空文件夹

    五、从暂存区到本地仓库

    把暂存区内容放到本地仓库形成一个历史版本

    • 指令: git commit -m “你的版本描述信息”

    查看历史版本

    • 查看当前版本之前的历史版本

      • 指令: git log
      • 显示版本信息:
        commit 2669935eca09795ce6543cddde61a465ab532300
        Author: aaa 123456@qq.com
        Date: Thu Apr 28 10:51:49 2022 +0800
        ​ first banben
      • 版本号: 2669935eca09795ce6543cddde61a465ab532300
      • 作者信息: aaa 123456@qq.com
      • 日期:Thu Apr 28 10:51:49 2022 +0800
      • 版本描述信息: first banben
    • 查看所有的历史版本

      • 指令: git reflog
      • 显示版本信息
        e09b6ed (HEAD -> master) HEAD@{0}: commit: third 3333
        4a90ccc HEAD@{1}: commit: second banben-swiper
        2669935 HEAD@{2}: commit (initial): first banben
      • 版本号前几位:e09b6ed
      • HEAD: 当前版本
      • HEAD@{n}: 当前版本的前n个版本
    • 版本回退

      • 指令: git reset --hard 版本号

        • 回退到指定版本号
      • 指令: git reset --hard Head

        • 回退到最新版本
      • 指令: git reset --hard Head^

        • 回退到指定版本的前一个版本,几个^就是前几个版本

    六、远程仓库

    • 把代码从本地仓库上传到远程仓库
      • 指令:给远程仓库地址一个别名
        • git remote add 别名 远程仓库地址
      • 指令:把本地仓库上传远程仓库
        • git push -u 远程仓库地址或者别名 分支名
      • 远程仓库地址或者别名:
        • 例如: https://gitee.com/xingbiao7676/sz2202first.git
      • 分支名
        • 仓库默认都有一个主分支:master
    • 把代码从远程仓库下载到本地仓库
      • 情况1:以前没有下载过
        • git clone 远程仓库地址
      • 情况2:以前下载过
        • 拉取远程版本并合并到本地版本
        • git pull 远程仓库地址或者别名

    七、分支操作

    • 创建分支
      + 指令:以当前版本为副本,重建一个分支
      + git branch 分支名
    • 查看分支
      • 指令:查看当前项目有哪些分支
      • git branch
      • 输出中带*表示当前分支
    • 切换分支
      • 指令:切换到你要操作的那个分支
        == git checkout 分支名
      • 删除分支
        • 指令:删除本地分支
        • git branch -d 分支名
      • 合并分支
        • 指令:把其他分支合并到当前分支
        • git merge 要合并的分支名 -m ‘版本描述信息’
      • 上传到远程分支
        • 指令:把本地分支上传到远程分支
        • git push -u 远程仓库地址或者别名 本地分支名:远程分支名
        • 如果只写本地分支名,那远程分支默认同名
      • 删除远程分支
        • 指令:把远程的分支删除
        • git push --delete 远程仓库地址或者别名 远程分支名

    八、git的忽略文件

    如果一个项目里面有一些文件和文件夹不需要git管理

    • 那么就可以在项目根目录书写一个git的忽略文件
    • 文件名固定是: .gitignore
    • 在里面可以写你要忽略的文件或者文件夹路径

    九、 删除暂存区文件

    如果想删除暂存区文件

    • 指令: git rm --cached 文件路径

    十、替换前一个版本

    用现在提交的版本替换前一个版本

    • 指令:git commit --amend -m “新版本描述信息”

    十一、分支操作

    • 创建分支:
      • git branch 要创建的本地分支名
    • 切换分支:
      • git checkout 要切换的本地分支名
    • 创建并切换分支 = 创建分支+切换分支
      • git checkout -b 本地分支名

    十二、pull和fetch的区别

    • 拉取分支并合并到当前分支
      • git pull 远程仓库地址或者别名 分支名
      • pull = fetch + merge
    • 拉取远程分支
      • git fetch 远程仓库地址或者别名 分支名

    十三、后悔操作

    • 查看工作区和暂存区文件的区别
      • git diff
    • 查看暂存区和本地仓库文件的区别
      • git diff --cached
    • 用最新版本的内容恢复到暂存区,不影响工作区
      • git reset HEAD – 文件路径
    • 用暂存区内容来回复工作区
      • git checkout – 文件路径
  • 相关阅读:
    鸿蒙HarmonyOS实战-ArkUI组件(Button)
    车云汇元宇宙:开启虚拟与现实融合的汽车养护新篇章
    给表弟写的Python制作GUI学生管理系统毕设,老师直接给出满分,毕业稳了
    mysql牛客网大厂面试刷题深度解析篇,每日一更(持续更新)
    WebAssembly中simd使用调研
    冥想第六百二十四天
    JVM的Class对象的存储位置和作用
    详解虚拟机!京东大佬出品 HotSpot VM 源码剖析笔记(附完整源码)
    机器学习|KNN和Kmeans
    【POJ No. 1577 / UVA No. 1525】落叶 Falling Leaves
  • 原文地址:https://blog.csdn.net/weixin_58764638/article/details/127036897