git-gitHub-本地仓库-远程仓库-github静态页面相关配置-docusaurus项目相关配置以及部署

news/2025/2/12 3:49:54/

文章目录

    • 预备知识 —— git
      • 分支
      • 变基(rebase)
      • 远程仓库(remote)
      • 远程库的操作的命令
      • tag 标签
      • gitignore
      • github 的静态页面
      • docusaurus

预备知识 —— git

  1. 安装(略)

  2. 配置

    1. 配置 name 和 email

      git config --global user.name "xxxx"
      git config --global user.email "xxx@xxx.xxx"
      
  3. 使用 git:

    • 查看当前仓库的状态

      git status
      
    • 初始化仓库

      git init
      
    • 文件状态:

      1. 未跟踪
      2. 已跟踪
      3. 暂存
      4. 未修改
      5. 已修改
    • 未跟踪 → 暂存

      git add <filename> 将文件切换到暂存的状态
      git add * 将所有已修改(未跟踪)的文件暂存
      
    • 暂存 → 未修改

      git commit -m "xxxx" 将暂存的文件存储到仓库中
      git commit -a -m "xxxx" 提交所有已修改的文件(未跟踪的文件不会提交)
      
    • 未修改 → 修改

      • 修改代码后,文件会变为修改状态
  4. 常用的命令

    1. 重置文件
    git restore <filename> # 恢复文件
    git restore --staged <filename> # 取消暂存状态
    
    1. 删除文件
    git rm <filename> # 删除文件
    git rm <filename> -f # 强制删除
    
    1. 移动文件
    git mv from to # 移动文件 重命名文件
    

    分支

    git 在存储文件时,每一次代码代码的提交都会创建一个与之对应的节点,git 就是通过一个一个的节点来记录代码的状态的。节点会构成一个树状结构,树状结构就意味着这个树会存在分支,默认情况下仓库只有一个分支,命名为 master。在使用 git 时,可以创建多个分支,分支与分支之间相互独立,在一个分支上修改代码不会影响其他的分支。

    git branch # 查看当前分支
    git branch <branch name> # 创建新的分支
    git branch -d <branch name> # 删除分支
    git switch <branch name> # 切换分支
    git switch -c <branch name> # 创建并切换分支
    git merge <branch name> # 和并分支
    

    在开发中,都是在自己的分支上编写代码,代码编写完成后,在将自己的分支合并到主分支中。

    变基(rebase)

    在开发中除了通过 merge 来合并分支外,还可以通过变基来完成分支的合并。

    我们通过 merge 合并分支时,在提交记录中会将所有的分支创建和分支合并的过程全部都显示出来,这样当项目比较复杂,开发过程比较波折时,我必须要反复的创建、合并、删除分支。这样一来将会使得我们代码的提交记录变得极为混乱。

    原理(变基时发生了什么):

    1. 当我们发起变基时,git 会首先找到两条分支的最近的共同祖先
    2. 对比当前分支相对于祖先的历史提交,并且将它们提取出来存储到一个临时文件中
    3. 将当前部分指向目标的基底
    4. 以当前基底开始,重新执行历史操作

    变基和 merge 对于合并分支来说最终的结果是一样的!但是变基会使得代码的提交记录更整洁更清晰!注意!大部分情况下合并和变基是可以互换的,但是如果分支已经提交给了远程仓库,那么这时尽量不要变基。

    远程仓库(remote)

    目前我对于 git 所有操作都是在本地进行的。在开发中显然不能这样的,这时我们就需要一个远程的 git 仓库。远程的 git 仓库和本地的本质没有什么区别,不同点在于远程的仓库可以被多人同时访问使用,方便我们协同开发。在实际工作中,git 的服务器通常由公司搭建内部使用或是购买一些公共的私有 git 服务器。我们学习阶段,直接使用一些开放的公共 git 仓库。目前我们常用的库有两个:GitHub 和 Gitee(码云)

    将本地库上传 git:

    git remote add origin https://github.com/lilichao/git-demo.git
    # git remote add <remote name> <url>git branch -M main
    # 修改分支的名字的为maingit push -u origin main
    # git push 将代码上传服务器上
    

    将本地库上传 gitee:

    git remote add gitee https://gitee.com/ymhold/vue-course.git
    git push -u gitee main
    

    远程库的操作的命令

    git remote # 列出当前的关联的远程库
    git remote add <远程库名> <url> # 关联远程仓库
    git remote remove <远程库名>  # 删除远程库
    git push -u <远程库名> <分支名> # 向远程库推送代码,并和当前分支关联
    git push <远程库> <本地分支>:<远程分支>
    git clone <url> # 从远程库下载代码git push # 如果本地的版本低于远程库,push默认是推不上去
    git fetch # 要想推送成功,必须先确保本地库和远程库的版本一致,fetch它会从远程仓库下载所有代码,但是它不会将代码和当前分支自动合并# 使用fetch拉取代码后,必须要手动对代码进行合并
    git pull  # 从服务器上拉取代码并自动合并

    注意:推送代码之前,一定要先从远程库中拉取最新的代码

    tag 标签

  • 当头指针没有执行某个分支的头部时,这种状态我们称为分离头指针(HEAD detached),分离头指针的状态下也可以操作操作代码,但是这些操作不会出现在任何的分支上,所以注意不要再分离头指针的状态下来操作仓库。

  • 如果非得要回到后边的节点对代码进行操作,则可以选择创建分支后再操作

    git switch -c <分支名> <提交id>
    
  • 可以为提交记录设置标签,设置标签以后,可以通过标签快速的识别出不同的开发节点:

    git tag
    git tag 版本
    git tag 版本 提交id
    git push 远程仓库 标签名
    git push 远程仓库 --tags
    git tag -d 标签名 # 删除标签
    git push 远程仓库 --delete 标签名 # 删除远程标签
    

    gitignore

  • 默认情况下,git 会监视项目中所有内容,但是有些内容比如 node_modules 目录中的内容,我们不希望它被 git 所管理。我们可以在项目目录中添加一个.gitignore文件,来设置那些需要 git 忽略的文件。

github 的静态页面

  • 在 github 中,可以将自己的静态页面直接部署到 github 中,它会给我们提供一个地址使得我们的页面变成一个真正的网站,可以供用户访问。
  • 要求:
    • 静态页面的分支必须叫做:gh-pages
    • 如果希望页面可以通过 xxx.github.io 访问,则需要将库的名字配置为 xxx.github.io

docusaurus

  • facebook 推出的开源的静态的内容管理系统,通过它可以快速的部署一个静态网站

  • 使用:

    • 网址:

      • https://docusaurus.io/
    • 安装

      • npx create-docusaurus@latest my-website classic
    • 启动项目

      • npm startyarn start
    • 构建项目

      • npm run buildyarn build
    • 配置项目:

      • docusaurus.config.js 项目的配置文件
    • 添加页面:

      • 在 docusaurus 框架中,页面分成三种:1.page,2.blog,3.doc
    • 案例地址:

      • https://github.com/lilichao/lilichao.github.io

http://www.ppmy.cn/news/744366.html

相关文章

修改boot.img制作内置root权限

准备工作&#xff1a; 下载 官方Full-OTA update.zip。从这里找 pro-teammt.ru/firmware-database/?firmware_model&firmware_page1 &#xff0c;搜搜自己的手机型号&#xff08;可从“关于手机/型号”中查看&#xff09;&#xff0c;比如 荣耀V10高配版为BKL-AL20。下载…

Python习题(附答案)7集合与字典

头歌实践教学平台——​Python编程技术 集合与字典 创建客服电话字典客服电话查询电话簿更新删除某公司电话数据统计查询省会手机销售统计查找数列中重复数字字符串去重排序个人数据合并查找数字大学排行榜分析 第1关&#xff1a;创建客服电话字典 任务描述 本关任务&…

Android批量打包-如何一秒内打完几百个apk渠道包

在国内Android常用渠道可能多达几十个&#xff0c;如&#xff1a; 谷歌市场、腾讯应用宝、百度手机助手、91手机商城、360应用平台、豌豆荚、安卓市场、小米、魅族商店、oppo手机、联想乐商、中兴汇天地、华为、安智、应用汇、木蚂蚁、3G安卓市场(久邦开发者发布系统) uc应用商…

IPv6主要知识

IPV6相较于IPV4有如下几点优点 1、“无限”地址空间&#xff0c;地址长度为128比特、海量的地址空间&#xff0c;满足物联网等新兴业务&#xff0c;有利于业务演进及扩展。 2、层次化的地址结构 &#xff0c;相较于IPV4地址&#xff0c;IPV6地址的分配更加规范&#xff0c;利…

二叉树的存储表示

二叉树的数组存储表示 在数据处理过程中二叉树的大小、形态不发生剧烈的动态变化的场合&#xff0c;适宜采用数组方式来表示二叉树的抽象数据类型 1、完全二叉树的数组存储表示 设有一棵完全二叉树&#xff0c;将其所有结点按照层次自顶向下、同一层自左向右进行按序编号1 - n…

Android 点击View实现翻转动画仿金立软件商店会员点击翻转

代码如下 直接使用工具类: import android.animation.Animator; import android.animation.ObjectAnimator; import android.view.View; import android.view.animation.OvershootInterpolator; public class AnimUtil { public static void FlipAnimatorXViewShow(final…

不仅仅是商务旗舰,金立M2017的拍照实力同样给力

近年来金立在商务手机市场不断发力&#xff0c;连续推出了多款专为高端商务人士打造的精品商务手机&#xff0c;其中在去年年底发布商务旗舰金立M2017更是获得了大量高端商务人士的认可。但是值得一提的是该机不仅在商务功能方面做得极为出色&#xff0c;就是在拍照方面金立M20…

22. 查询相同时刻多地登陆的用户

文章目录 题目需求思路一实现一题目来源 题目需求 从登录明细表&#xff08;user_login_detail&#xff09;中查询在相同时刻&#xff0c;多地登陆&#xff08;ip_address不同&#xff09;的用户。 期望结果如下&#xff1a; user_id(用户id)101102104… 需要用到的表&…