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 – 文件路径
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值