标 题 |
时 间 |
分布式版本控制工具 Git 简介
|
04:55
|
一切都从 Git 的安装开始
|
01:47
|
对 Git 进行配置,让 Git 正确跟踪你和代码的变化
|
04:37
|
Git 的分布式版本控制和 Git的中心化版本控制
|
03:45
|
使用 git init 对项目生成初始化跟踪信息
|
03:15
|
git 最常用的命令 git add,git commit, git diff
|
05:57
|
git 最常用的命令 git status,git log
|
06:22
|
使用 .gitignore 文件把不需要跟踪的文件或目录屏蔽掉
|
07:27
|
如何把错误删除或修改的文件恢复过来
|
04:39
|
保存当前工作进度处理紧急任务后恢复工作进度
|
05:11
|
时光一去仍可回,往事尽情回味,git reset 帮你穿越时空
|
11:10
|
简单了解一下 git reset 的背后原理
|
03:40
|
git log 用法详解
|
04:38
|
git 版本分支带来的巨大变化,给自己多几个分身
|
03:05
|
git branch 常用的命令介绍
|
02:39
|
使用 git branch 分支进行工作并进行分支的合并
|
04:29
|
主线master 和功能分支都修改后的分支合并
|
03:53
|
合并分支时遇到冲突如何解决
|
03:52
|
学习 git 不要只做一个看客,请动手操练起来
|
01:45
|
大哥,git commit -m "xxx"才算是一次提交,《如何把错误删除或修改的文件恢复过来》的视频中第1分20秒左右只是删除了,并没有执行git comm -m "xxx"命令啊,怎么就用git checkout HEAD -- 文件名 恢复了啊!这条命令不是指恢复最近一次提交吗?
咱们说的是不同情况下的恢复,一种是提交后的恢复,也就是你说的这种,这里说得是还没有提交情况下的恢复。是不是我视频中翻车说了提交俩字???
git checkout HEAD -- 文件名 是指恢复最后一次git操作的数据,不管是git rm还是git commit,都算是一次操作;
如果git rm后再git commit,就算是两次操作了,想恢复就得用git checkout HEAD^ -- 文件名
问题的核心就是HEAD是指最后一次操作而非最后一次提交,因为一次完整的提交有可能是先删除再提交到本地仓库
这样理解应该没毛病吧?
有毛病,有很大毛病,git rm确实是一项操作,但是它只是对工作区进行了操作,对HEAD的指向没有任何影响,也没有生成或改变任何仓库中的版本。
刚看了 git reset 的背后原理,仿佛明白了些许,我再理解理解,多谢!!!
不客气,你离明白它已经不远了