您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
13 进一步理解HEAD和branch
发布时间:2020-07-11 19:36:25编辑:雪饮阅读()
创建一个新分支并切换到这个新分支,然后看看head会有什么变化
直接创建新分支并切换至该新分支,第一个分支参数是所参考的原来的某个分支,第二个分支参数是自定义新分支名
xy@DESKTOP-BG9HNHK MINGW64 ~/Desktop/web/web2 ((5b94258...))
$ git checkout -b fix_css_new fix_css
Switched to a new branch 'fix_css_new'
会发现head直接指向了新分支而不是之前的commit头分散
xy@DESKTOP-BG9HNHK MINGW64 ~/Desktop/web/web2 (fix_css_new)
$ git log -n1
commit 5b9425889d42f8b6f690abd0f4bbfd6bf488a16e (HEAD -> fix_css_new, fix_css)
Author: 雪饮 <1509272975@qq.com>
Date: Sat Jul 11 14:32:40 2020 +0800
checkout with modify
然后gitk –all也是相同的,是从原来的fix_css后面追加新分支
然后会发现refs中head文件也引用到最新的分支文件了
xy@DESKTOP-BG9HNHK MINGW64 ~/Desktop/web/web2 (fix_css_new)
$ cat .git/HEAD
ref: refs/heads/fix_css_new
并且该文件落脚于一个commit
xy@DESKTOP-BG9HNHK MINGW64 ~/Desktop/web/web2 (fix_css_new)
$ cat .git/refs/heads/fix_css_new
5b9425889d42f8b6f690abd0f4bbfd6bf488a16e
xy@DESKTOP-BG9HNHK MINGW64 ~/Desktop/web/web2 (fix_css_new)
$ git cat-file -t 5b9425889d42f8b6f690abd0f4bbfd6bf488a16e
commit
这里追加说明下:该文件不管是head指向某分支的某commit还是指向分离头的某commit,最终都会落脚于一个commit。
比较commit
$ git log -n3
commit ac86aaf5d9dca4b0bacda1c19dae2e8951d412e8 (HEAD -> branch2)
Author: xy220807 <1509272975@qq.com>
Date: Sun Jul 5 15:46:38 2020 +0800
branch2dir3
commit 795e4fcb73551a8f172af6e421d136da3738b133
Author: xy220807 <1509272975@qq.com>
Date: Sun Jul 5 15:34:12 2020 +0800
branch2 commit 20200705
commit 48142d39abcd7f51c16d4eb50127445af496d056 (temp, master)
Author: 雪饮 <1509272975@qq.com>
Date: Sat Jul 4 11:27:29 2020 +0800
modified index.html
简单比较两个commit
xy@DESKTOP-BG9HNHK MINGW64 ~/Desktop/web/web (branch2)
$ git diff ac86aaf5d9dca4b0ba 795e4fcb73551a8f172a
diff --git a/branch2dir3/4.txt b/branch2dir3/4.txt
deleted file mode 100644
index 6a79278..0000000
--- a/branch2dir3/4.txt
+++ /dev/null
@@ -1 +0,0 @@
-this is branch3/4.txt
比较当前最新commit与上级commit
$ git diff HEAD HEAD^
diff --git a/branch2dir3/4.txt b/branch2dir3/4.txt
deleted file mode 100644
index 6a79278..0000000
--- a/branch2dir3/4.txt
+++ /dev/null
@@ -1 +0,0 @@
-this is branch3/4.txt
比较当前最新commit与上n级commit
xy@DESKTOP-BG9HNHK MINGW64 ~/Desktop/web/web (branch2)
$ git diff HEAD HEAD^^
diff --git a/branch2dir1/1.txt b/branch2dir1/1.txt
deleted file mode 100644
index 65a5b81..0000000
--- a/branch2dir1/1.txt
+++ /dev/null
@@ -1 +0,0 @@
-this is branch2 1.txt
diff --git a/branch2dir1/dir1/2.txt b/branch2dir1/dir1/2.txt
deleted file mode 100644
index 7c3052d..0000000
--- a/branch2dir1/dir1/2.txt
+++ /dev/null
@@ -1 +0,0 @@
-this is branch2/dir2/2.txt
diff --git a/branch2dir3/4.txt b/branch2dir3/4.txt
deleted file mode 100644
index 6a79278..0000000
--- a/branch2dir3/4.txt
+++ /dev/null
@@ -1 +0,0 @@
-this is branch3/4.txt
比较当前最新commit与上级commit(波浪线)
$ git diff HEAD HEAD~1
diff --git a/branch2dir3/4.txt b/branch2dir3/4.txt
deleted file mode 100644
index 6a79278..0000000
--- a/branch2dir3/4.txt
+++ /dev/null
@@ -1 +0,0 @@
-this is branch3/4.txt
比较当前最新commit与上n级commit(波浪线)
xy@DESKTOP-BG9HNHK MINGW64 ~/Desktop/web/web (branch2)
$ git diff HEAD HEAD~2
diff --git a/branch2dir1/1.txt b/branch2dir1/1.txt
deleted file mode 100644
index 65a5b81..0000000
--- a/branch2dir1/1.txt
+++ /dev/null
@@ -1 +0,0 @@
-this is branch2 1.txt
diff --git a/branch2dir1/dir1/2.txt b/branch2dir1/dir1/2.txt
deleted file mode 100644
index 7c3052d..0000000
--- a/branch2dir1/dir1/2.txt
+++ /dev/null
@@ -1 +0,0 @@
-this is branch2/dir2/2.txt
diff --git a/branch2dir3/4.txt b/branch2dir3/4.txt
deleted file mode 100644
index 6a79278..0000000
--- a/branch2dir3/4.txt
+++ /dev/null
@@ -1 +0,0 @@
-this is branch3/4.txt
关键字词:head,branch
下一篇:14 怎么删除不需要的分支?
相关文章
-
无相关信息