git 回退到某个commit_git原理

本文详细介绍了Git的三个分区及其对象类型,包括blob、tree和commit,并讲解了如何查看它们的内容。同时,阐述了文件在Git中的四种状态,以及如何使用git命令进行版本控制。通过可视化工具learngitbranching.js.org,理解了无分支和有分支的提交拓扑结构。此外,介绍了常用的git命令,如git log、git reset、git pull和git push,以及如何关联和管理远程仓库。在分支管理中,强调了在修复bug或开发新功能时使用分支的重要性,并演示了如何创建、切换和合并分支。最后,讨论了标签的使用,用于标记特定的commit,便于管理和追溯版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. git的三个分区

  • git 的文件存储?
    • 三个对象:blob,tree,commit。
    • 查看.git/objects文件类型和内容的命令:
      • git cat-file -p 5d30
      • git cat-file -t 5d30
    • commit id的含义。
    • HEAD, branch 名称的本质。
  • 工作区
  • 暂存区
  • 版本库

2. 文件的状态

5e0bd3fc0a1e9c89d53cd2b1e4d8b73f.png

untracked: 第一次add的文件。

Modified: 被commit过,再被编辑。

staged: 文件经过add操作后的状态。

unmodified: staged的文件被commit之后。

3. 可视化理解

https://learngitbranching.js.org/?NODEMO=&locale=zh_CN​learngitbranching.js.org
  • 可视化理解所有的commit组成的拓扑结构。
  • 无分支的情况。
  • 有分支的情况。

5. 常用的git命令

5.1 回退

  • git log: 查看提交记录
  • git reflog: 查看所有提交记录
  • git reset: 回退命令。
    • git reset --hard
    • git reset --mixed
    • git reset --soft
  • 撤销修改:
  • 删除文件

5.2 远程仓库

  • 关联远程仓库的步骤:
    • gitlab上建立新建一个仓库
      • git clone
      • 本地项目文件同步到远程仓库。
  • git push origin 本地分支名:远程分支名9
    • git push origin master:master
    • git push origin master:dev
    • 将本地的 master分支推送的远程的master分支。
    • 可以缩写为:git push origin master
  • git pull origin 远程分支名称:本地分支名称。(看命令动画)
    • git pull origin master:master
    • git pull origin master:dev
    • 从origin仓库拉取master分支的数据。
    • 可以缩写为:git pull origin master
  • git fetch origin 分支名:(看命令动画)
    • git fetch origin master

5.3 分支管理

  • 什么时候用分支?修复bug或者开发新功能的时候。
    • Bug分支。
    • feature分支。
  • 多人协作
  • 创建与合并分支。
    • git branch iss01
  • 切换分支
    • git checkout iss01
  • 解决冲突。(看命令动画)
    • git merge dev

5.4 标签管理

  • 给某个commit id起一个好理解的名字。比如软件的版本号。v1.0,v2.0。
  • 命令:
  • 新建标签:git tag -a v1.4 -m "my version 1.4"
  • 查看标签:git tag
  • 模糊查找:git tag -l "v1.8.5*"
  • 查看摸个标签的内容:git checkout
  • 在某个标签上重新开发:
    • 新建分支。
    • git reset --hard tag_name
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值