Git分支

分支是从主线工作中分离出来的一部分,以免和主线相互干扰。

当每一次commit时,Git都会创建commit对象,其中不仅包含了各种commit信息,还包括指向该commit的指针。如果是初次commit,则没有父节点;如果是一次正常的commit,则有一个父节点;如果是从多个分支中合并,则有多个父节点。

简单来说,就是由一个commit对象指向另一个commit对象。分支就是指向一个commit对象的指针。Git中默认分支是master,master始终指向最新的一次commit。

创建分支

创建一个名为test的分支。创建分支的同时,也创建了一个指向相同commit对象的指针。

git branch test

这条命令仅创建了一个分支,但当前所在分支依旧是master,而没有切换到新创建的分支上。

Git通过HEAD指针判断当前所处分支。

Git使用一文提到了git log查看日志,它也可以查看分支所指向commit对象。

git log --oneline --decorate

如果仅查看test分支的日志。

git log test

切换分支

创建分支的时候并不会切换分支。如果要切换到test分支,使用git checkout命令。Git 2.23之后的版本可以使用git switch命令。

git checkout test

你可以在test分支里继续进行提交。这相当于master分支中的项目成为了test分支的旧版本。

当切换分支的时候,工作目录里的文件会变化(如果在这个分支中修改了该文件并且提交)。

如果想在创建分支的同时切换该分支,使用git checkout -b test命令。Git 2.23之后的版本可以使用git switch -c test

合并分支

利用git merge命令把test分支合并到master分支上。

git switch master
git merge  test

有时候合并分支会出现冲突,如果你创建了2个分支,并且修改了同一个地方,这时无法合并。git status可以查看合并状态。Git可以查看冲突文件,打开文件,===以上部分表示master分支中的内容,以下部分表示其它分支中的内容。可以直接删除掉这些部分,进行手动合并。

删除分支

当合并分支之后,该分支就可以删除。

git branch -d test

如果需要强行删除分支,则使用-D选项。

查看分支

git branch命令可以列出所有分支。分支名前的星号*表示HEAD所指的分支。加上-v选项可以看到每个分支最新的一次提交信息。--merge--no-merge选项分别看到已经合并或者暂未合并的分支。

修改分支名

test修改为new-test

git branch --move test new-test

尽量不要把名称修改为master

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值