【Git命令】通过在线demo学习

学习平台
https://learngitbranching.js.org/

基础

  1. git commit
    提交一次记录

  2. git branch < name>
    新建分支

  3. git checkout < name>
    当前目标切换到< name>分支上

  • 创建一个新的分支同时切换到新创建的分支的话,可以通过 git checkout -b < name>
  1. git merge < name>
    把name分支合并到当前base的分支
  2. git rebase < name>
    将当前分支切换合并到< name>上,创造更线性的提交历史

高级

  1. HEAD
    HEAD总是指向当前分支最近一次提交记录
    分离HEAD:让HEAD指向具体的提交记录,而不是分支名

  2. 相对引用
    使用一个^,表示向前一个提交记录
    想向前多个就使用~< num>

  3. 撤销变更
    git reset < num>本地用,回退到某一分支
    git revert 远程分支中合作用

git reset –-soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可;
git reset -–hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容,撤销的commit中所包含的更改被冲掉;

远程

  1. git fetch
    将本地仓库中的远程分支更新成了远程仓库相应分支最新的状态。并不会改变你本地仓库的状态。它不会更新你的 main 分支
  • 从远程仓库下载本地仓库中缺失的提交记录
  • 更新远程分支指针(如 o/main)

当在本地给o/main添加新的提交时, o/main 也不会更新。这是因为 o/main 只有在远程仓库中相应的分支更新了以后才会更新。 o/main的更新只是反映了远程的状态。

  1. git pull
    先抓取更新再合并到本地分支
    git pull 就是 git fetch 和 git merge 的缩写
    git pull --rebase 就是 fetch 和 rebase 的简写

  2. git push
    将你的变更上传到指定的远程仓库,并在远程仓库上合并你的新提交记录

  3. ! [远程服务器拒绝] main -> main (TF402455: 不允许推送(push)这个分支; 你必须使用pull request来更新这个分支.)

  • 远程服务器拒绝直接推送(push)提交到main, 因为策略配置要求 pull requests 来提交更新.
  • 解决:新建一个分支feature, 推送到远程服务器. 然后reset你的main分支和远程服务器保持一致。

说实话

个人感觉这个平台适合当前面临需求的时候学习,我练了几个关卡感觉还是一头雾水😟(我太菜了),结合下面这个视频看更好

https://www.bilibili.com/video/BV1pX4y1S7Dq/?spm_id_from=333.337.search-card.all.click&vd_source=5cef5968d539682b683e7d01b00ad01b
https://www.bilibili.com/video/BV1db4y1d79C/?vd_source=5cef5968d539682b683e7d01b00ad01b

相关推荐

  1. Git命令通过在线demo学习

    2024-05-05 02:54:02       35 阅读
  2. Git学习笔记:3 git tag命令

    2024-05-05 02:54:02       71 阅读
  3. linux的git命令学习[常见命令]

    2024-05-05 02:54:02       43 阅读
  4. 学习笔记】Git常用命令

    2024-05-05 02:54:02       25 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-05 02:54:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-05 02:54:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-05-05 02:54:02       87 阅读
  4. Python语言-面向对象

    2024-05-05 02:54:02       96 阅读

热门阅读

  1. mysql 删除数据,导致存在表空间碎片的解决方法

    2024-05-05 02:54:02       33 阅读
  2. vue的action与mutation 的区别

    2024-05-05 02:54:02       30 阅读
  3. 深入了解WebP:下一代图像格式

    2024-05-05 02:54:02       26 阅读
  4. 40道Linux结业测试题,有解析,有答案

    2024-05-05 02:54:02       30 阅读
  5. python学习笔记----函数进阶(七)

    2024-05-05 02:54:02       35 阅读
  6. MySQL数据库—初识数据库 | DDL语句 | DML语句

    2024-05-05 02:54:02       35 阅读
  7. 【SHADER】Shader实例学习2:Loading Wheel

    2024-05-05 02:54:02       27 阅读
  8. springboot学习基础入门

    2024-05-05 02:54:02       36 阅读