From 4bdf9b82bcd48e3407534088fe6a88a25eafa980 Mon Sep 17 00:00:00 2001 From: Mhrooz Date: Fri, 16 Aug 2024 15:40:37 +0200 Subject: [PATCH] update 2.5 notes --- notes/2.5_git_checkout.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/notes/2.5_git_checkout.md b/notes/2.5_git_checkout.md index 6962dc9..d634dc8 100644 --- a/notes/2.5_git_checkout.md +++ b/notes/2.5_git_checkout.md @@ -12,5 +12,31 @@ checkout到commit的父亲,使得head指针指向父提交,而不是branch git checkout ^ ``` +在detach模式下add,commit,HEAD都是指向最新的提交 +之后再checkout到原来的分支,detach模式下的操作记录都会丢失 +### 2.5.2 git merge + +```bash +git merge +``` +将提交合并到当前分支,这样做就可以把detach模式下的提交merge到当前分支上 + +合并以后的提交将有两个父提交 + +### 2.5.3 git checkout + +```bash +用法一: git checkout [-q] [] [--] ... +用法二: git checkout [] +用法三: git checkout [-m] [[-b|--orphan] ] [] +``` + +第一种用法的``是可选项,如果省略则相当于从暂存区(index)进行检出。reset的默认值是 HEAD,而checkout的默认值是暂存区。 + +reset的目的是用HEAD重置暂存区,checkout是想暂存区中覆盖工作区的内容 + +第二种用法就是切换分支 + +第三种用法是新建分支