-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
第8章 Git 检出 #52
Comments
挽救分离头指针 在“分离头指针”模式下进行的测试提交除了使用提交ID(acc2f69)访问之外,不能 通过 master分支或其他引用访问到。如果这个提交是 master分支所需要的,那么该如何处 理呢?如果使用上一章介绍的 |
深入了解 检出命令( 用法一: 上面列出的第一种用法和第二种用法的区别在于,第一种用法在命令中包含路径 第一种用法的 第一种用法(包含了路径`的用法)不会改变HEAD头指针,主要是用于指定版本的文件覆盖工作区中对应的文件。如果省略,则会用暂存区的文件覆盖工作区的文件,否则用指定提交中的文件覆盖暂存区和工作区中对应的文件 第二种用法(不使用路径的用法)则会改变HEAD头指针。之所以后面的参数写作,是因为只有HEAD切换到一个分支才可以对提交进行跟踪,否则仍然会进入“分离头指针”的状态。在“分离头指针”状态下的提交不能被引用关联到,从而可能丟失。所以用法二最主要的作用就是切换到分支。如果省略则相当于对工作区进行状态检查。 第三种用法主要是创建和切换到新的分支(,新的分支从指定的提交开始创建。新分支和我们熟悉的 master分支没有什么实质的不同,都是在 |
命令: |
命令: |
命令: 这个命令很危险,因为对于本地的修改会悄无声息地覆盖,毫不留情。 |
命令: |
命令: |
HEAD
的重置即检出在在上一章我们学习了重置命令(
gitreset
)。重置命令的一个用途就是修改引用(如master
)的游标指向。实际上在执行重置命令的时候没有使用任何参数对所要重置的分支名(如master
)进行设置,这是因为重置命令实际上所针对的是头指针HEAD
。之所以重置命令没有改变头指针HEAD
的内容,是因为HEAD
指向了一个引用res/heads/master
,所以重置命令体现为分支“游标”的变更,HEAD
本身一直指向的是refs/heads/master
,并没有在重置时改变。如果
HEAD
的内容不能改变而一直都指向master
分支,那么Git如此精妙的分支设计岂不是浪费?如果HEAD
要改变该如何改变呢?本章将学习检出命令(gitcheckout
),该命令的实质就是修改HEAD
本身的指向,该命令不会影响分支“游标”(如master
)。The text was updated successfully, but these errors were encountered: