forked from iicd/git-learner
		
	update 2.5 notes
This commit is contained in:
		| @@ -12,5 +12,31 @@ checkout到commit的父亲,使得head指针指向父提交,而不是branch | ||||
| git checkout <commit>^ | ||||
| ``` | ||||
|  | ||||
| 在detach模式下add,commit,HEAD都是指向最新的提交 | ||||
|  | ||||
| 之后再checkout到原来的分支,detach模式下的操作记录都会丢失 | ||||
|  | ||||
| ### 2.5.2 git merge | ||||
|  | ||||
| ```bash | ||||
| git merge <commit> | ||||
| ``` | ||||
| 将<commit>提交合并到当前分支,这样做就可以把detach模式下的提交merge到当前分支上 | ||||
|  | ||||
| 合并以后的提交将有两个父提交 | ||||
|  | ||||
| ### 2.5.3 git checkout | ||||
|  | ||||
| ```bash | ||||
| 用法一: git checkout [-q] [<commit>] [--] <paths>... | ||||
| 用法二: git checkout [<branch>] | ||||
| 用法三: git checkout [-m] [[-b|--orphan] <new_branch>] [<start_point>] | ||||
| ``` | ||||
|  | ||||
| 第一种用法的`<commit>`是可选项,如果省略则相当于从暂存区(index)进行检出。reset的默认值是 HEAD,而checkout的默认值是暂存区。 | ||||
|  | ||||
| reset的目的是用HEAD重置暂存区,checkout是想暂存区中覆盖工作区的内容 | ||||
|  | ||||
| 第二种用法就是切换分支 | ||||
|  | ||||
| 第三种用法是新建分支 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user