创建一个文件夹 testbranch,添加一个文件 main.txt。执行 git init 初始化,执行提交。此时 master 分支有了第一个提交记录:
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 
 | macName:testbranch userName$ git init已初始化空的 Git 仓库于 /Users/userName/Desktop/testbranch/.git/
 macName:testbranch userName$ git status
 位于分支 master
 
 尚无提交
 
 未跟踪的文件:
 (使用 "git add <文件>..." 以包含要提交的内容)
 main.txt
 
 提交为空,但是存在尚未跟踪的文件(使用 "git add" 建立跟踪)
 macName:testbranch userName$ git add .
 macName:testbranch userName$ git commit -m "init"
 [master(根提交) cd00bbe] init
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 main.txt
 
 | 
随意修改一下文件内容,再作一次提交。此时查看 master 的提交状态,可以看到有两次提交:
| 12
 3
 4
 5
 6
 7
 
 | macName:testbranch userName$ git add .macName:testbranch userName$ git commit -m "again"
 [master 9d01aa3] again
 1 file changed, 1 insertion(+)
 macName:testbranch userName$ git log --pretty=oneline -3
 9d01aa3ed29dc9caa1b67175e1e2c7ce4db21712 (HEAD -> master) again
 cd00bbe75405be350fd7c4cc06d4b304ababe8c5 init
 
 | 
此时新建一个分支,other-normal。使用 git branch -a 后可立刻看到新建的分支。再查看提交,发现与 master 是一致的:
| 12
 3
 4
 5
 6
 7
 8
 
 | macName:testbranch userName$ git checkout -b other-normal切换到一个新分支 'other-normal'
 macName:testbranch userName$ git branch -a
 master
 * other-normal
 macName:testbranch userName$ git log --pretty=oneline -3
 9d01aa3ed29dc9caa1b67175e1e2c7ce4db21712 (HEAD -> other-normal, master) again
 cd00bbe75405be350fd7c4cc06d4b304ababe8c5 init
 
 | 
返回 master,使用 git checkout --orphan other-orphan 新建并切换到分支 other-orphan。再次使用 git branch -a,发现不能看到新建的分支。使用 git log 查看提交情况,发现当前确实在 other-orphan 分支上。
注意:使用 –orphan 参数建立的分支必须要有提交后,才真正创建。
| 12
 3
 4
 5
 6
 7
 8
 9
 
 | macName:testbranch userName$ git checkout master切换到分支 'master'
 macName:testbranch userName$ git checkout --orphan other-orphan
 切换到一个新分支 'other-orphan'
 macName:testbranch userName$ git branch -a
 master
 other-normal
 macName:testbranch userName$ git log
 fatal: 您的当前分支 'other-orphan' 尚无任何提交
 
 | 
将 other-orphan 分支的 main.txt 文件改名为 orphan.txt 并提交,再次查看全部分支,已经可以看到 other-orphan,而且提交情况也是独立的,与 master 分支无关。
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 
 | macName:testbranch userName$ git status位于分支 other-orphan
 
 尚无提交
 
 要提交的变更:
 (使用 "git rm --cached <文件>..." 以取消暂存)
 新文件:   main.txt
 
 尚未暂存以备提交的变更:
 (使用 "git add/rm <文件>..." 更新要提交的内容)
 (使用 "git restore <文件>..." 丢弃工作区的改动)
 删除:     main.txt
 
 未跟踪的文件:
 (使用 "git add <文件>..." 以包含要提交的内容)
 orphan.txt
 
 macName:testbranch userName$ git add .
 macName:testbranch userName$ git commit -m "orphan init"
 [other-orphan(根提交) c2533ce] orphan init
 1 file changed, 1 insertion(+)
 create mode 100644 orphan.txt
 macName:testbranch userName$ git branch -a
 master
 other-normal
 * other-orphan
 macName:testbranch userName$ git log --pretty=oneline -3
 c2533cec5738396e99510ff8566f002547e5e000 (HEAD -> other-orphan) orphan init
 
 |