git命令学习二

使用 gitk命令 来查看git的图形界面

 

探秘.git目录

HEAD内容表示工作在那个分支

config内容记录和本地仓库相关的信息(用户名和邮箱等)

refs中包含heads和tags目录, heads中记录分支,每个分支的文件中记录当前commit;tags中记录tag信息,每个tag中记录的也是commit

objects 记录blob信息

 

commit、tree和blob之间的关系

一个commit对应一个tree。这个树代表了当前commit的一个快照。树中包含了当前所有信息当时的一个记录。

blob对应一个文件,但是blob不以文件名进行区分,按文件内容来区分。

 

分离头指针

在git checkout commit (HEAD不指向任何分支,指向commit)后会产生分离头指针,如果分离头指针后不做分支,切换回原来的分支后,分离头指针提交的东西回被删除掉。。

 

HEAD 最终指向于commit.

 

删除分支

git branch -d 分支名

如果删除不掉,使用 -D 的方式

 

修改commit的message

修改最近一次的:

使用 git commit --amend, 然后对message进行更正,然后保存退出

之前提交的commit:

1. git rebase -i commit  这个commit是指被变commit的父亲,rebase 为变基操作。

2. 执行上述命令后,进入策略编辑,修改对应的命令,保存退出

3. 退出后,会自动进入编辑界面,修改message,保存退出

 

把连续多个commit整理成1个

1. git rebase -i commit

2. 编辑策略 使用squash, 然后保存

3. 跳出编辑界面,编辑message,然后保存

 

把几个间隔的commit整理成1个

1. git rebase -i commit 

2. 调整commit的位置,将需要整理的commit放在一起,编辑策略 使用squash

3. 编辑message

 

posted on 2022-03-09 07:28  成长的皮球  阅读(15)  评论(0编辑  收藏  举报