黑匣子
满天星

git分布式版本控制系统权威指南学习笔记(五):git checkout

分离头指针

涉及到的命令
cat .git/head
git branch
git checkout commitId
git reflog

通过cat可以查看当前的分支

1
2
➜  demo git:(master) cat .git/HEAD
ref: refs/heads/master

通过branch查看当前分支

1
2
3
➜  demo git:(master) git branch -v
b 81b09ec add
* master 1e20fe7 a

checkout commitId(真正的🌰,挽救分离头指针)

经过checkout commitId之后,当前的头指针是游离状态的。

1
2
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
//ed97a5e3d4a是某次提交的hash值
➜ demo git:(8e0f16b) git checkout ed97a5e3d4a
//会有一个警告,当前在一个游离的头指针上
Warning: you are leaving 1 commit behind, not connected to
any of your branches:

8e0f16b dfg

If you want to keep it by creating a new branch, this may be a good time
to do so with:
git branch <new-branch-name> 8e0f16b
➜ demo git:(ed97a5e) git branch
//在例子中这里是*(no branch)但是没有复现。
* (HEAD detached at ed97a5e)
b
master
//查看第一条reflog
➜ demo git:(ed97a5e) git reflog -1
ed97a5e (HEAD) HEAD@{0}: checkout: moving from master to ed97aa
➜ demo git:(ed97a5e) git checkout master
//大概意思是,你已经有了一个commit 但是不隶属于任何一个分支,假如想要
//这次提交的话,可以采用git branch new_branch_name 4700da(此处省略hash值)的方式。
Warning: you are leaving 1 commit behind, not connected to
any of your branches:

91a80cc dsaf

If you want to keep it by creating a new branch, this may be a good time
to do so with:

git branch <new-branch-name> 91a80cc

Switched to branch 'master'
//上面是希望通过checkout改变commit历史的,这里直接gitmerge回来
➜ demo git:(master) git merge 91a80cc(这里是刚才checkout的commit的id)
Already up to date.
➜ demo git:(master) git cat-file -p HEAD
tree acefb39d45e5cc33c3f4889b0d150c3bb6983f56
//看到这里有两个parent
parent 1e20fe7563a4b4bf8a091fe6c55ca9f32786224c
parent 91a80cc6cc69cf2c2438b667964ff81b8e99587b
author dataiyangu <32248827@qq.com> 1552348529 +0800
committer dataiyangu <32248827@qq.com> 1552348529 +0800

sdf

git checkout 用法

撤销本地工作区的修改,前提是没有被git add.
gitcheckout .
gitcheckout fiel
gitcheckout 目录

-------------The End-------------

本文标题:git分布式版本控制系统权威指南学习笔记(五):git checkout

文章作者:Leesin.Dong

发布时间:2019年03月12日 - 10:03

最后更新:2019年03月12日 - 19:03

原始链接:http://mmmmmm.me/2019-03-12-5.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

客官客官,不可以,你要对我负责~~~