前言
git练习网站:https://learngitbranching.js.org
记住一点:当你想删除某个分支时,git只会把那些只与这个分支相关的结点
和分支箭头
删掉
下面会举两个例子来说明这一点
1. 合并分支后删除旧分支
我现在有两个分支,main分支和bugFix分支
我先切换到main分支
git checkout main
然后把bugFix分支合并到当前main分支来
git merge bugFix
现在当我想删掉这个bugFix时,会删掉C3,C4节点吗?
答案是不会。因为这部分节点已经并入到main分支的信息里面了,此时没有任何一个结点是只与bugFix相关的,所以你删掉分支bugFix,只会把绿色的分支箭头给删掉
所以在pycharm中使用git时,把某个用于写某个功能的分支合并到主分支后,你完全可以删掉原来旧的分支。
2. 删除没有合并前的分支
如果我删除没有合并前的分支会怎么样?
git branch -d bugFix
可以看到,git会把所有只与bugFix相关的结点(C3, C4)删掉,而C0, C1结点是与其他分支(main)有关系的,所以不会删除。
应用:例如你在bugFix分支上尝试修一个bug,写了很多新的内容,后来发现并没有什么bug,你想退回到修bug前的状态,那我们直接删除掉bugFix分支即可