git checkout <commit-id> 执行此命令后,Git会将HEAD指针指向指定的commit-id,并将工作目录和暂存区更新为该提交时的状态。 git checkout commit id背后的原理 HEAD指针的移动:Git会移动HEAD指针,使其不再指向当前分支的最新提交,而是指向指定的commit-id。此时,HEAD处于所谓的“分离HEAD”状态,因为它不...
我们可以通过checkout命名轻松的移动HEAD到不同的<commitID>上,在上一处对commit的理解还是一个动词性的(提交)。这里commit却好像是变成了一个名词——快照(个人跟乐意用<commitID>来表示)。 怀疑阶段——我究竟在 提交(git commit <file_path>)什么? git commit <file_path>操作,开始会认为是提交了你在Workin...
方法二:找到被 hard reset 掉的commit,从该commit 上再拉取一个分支 使用git log -g可以找到C1 的commitId 从C1 的commitId 拉取一个分支出来 切分支到新拉取的 backup-branch 分支:git checkout backup-branch 使用git log --pretty=oneline查看当前 backup-branch 分支情况,与一开始的 dev 分支一致,C4、t...
HEAD是用来执行当前分支版本库的,默认HEAD都是执行版本库最新commit的代码,但是使用 “ git checkout commit_id ” 切换到分支的历史上某次提交的代码可以将HEAD指向分支中的某次提交,而这时候的HEAD指向被叫做游离态的HEAD。之所以叫游离态的HEAD,原因是当HEAD指向版本库最新提交commit时可以进行下一次的commit,将代...
我说的 “快照” 是指 “当你运行git checkout COMMIT_ID时得到的所有文件”。 Git 通常将提交的文件列表称为 “树”(如“目录树”),你可以在 GitHub 上看到上述提交的所有文件: https://github.com/rbspy/rbspy/tree/24ad81d2439f9e63dd91cc1126ca1bb5d3a4da5b(它是/tree/而不是/commit/) ...
git切回旧版本代码后再切回最新代码 - git checkout commitID (1)git log 查找目标版本的commitID,复制下来 (2)git checkout 目标版本commitID,此时就进入了旧版本的代码,观察可知是切换了一个旧版本代码的临时分支 (3)git checkout 原来的分支,这就回到了最新的代码...
git checkout<commit> 切换到指定提交 revert 工作原理: 通过创建一次新的commit来撤销一次commit所做出的修改。这种撤销的方式是安全的,因为它并不修改commitm history。 实例应用: 代码语言:javascript 复制 git revertHEAD~2 将会查出倒数第二次(即当前commit的往前一次)提交的修改,并创建一个新的提交,用于撤销当...
git的kv中value一般有以下几种类型blob、tree、commit。1. git add原理 在调用git add后会生成一个blob对象,然后将该对象add放进进index区。(1)生成Blob对象 首先,我们需要初始化一个新的 Git 版本库 $ git initInitialized empty Git repository in D:/GitTest/.git/然后我们查看一下生成的目录结构 $ ...