分支:
git在存储文件时,每一次代码的提交都会创建一个与之对应的节点,git就是通过一个一个节点来记录代码状态的。
git log 记录每次提交的节点信息
节点会构成树状结构,树状结构就意味着这个树会存在分支,命名为master/main。
在使用git时可以创建多个分支,分支与分支之间相互独立,在一个分支上修改代码时,不会影响其他的分支
git branch 查看当前分支
git branch <branch name> 创建新的分支
git branch -d <branch name> 删除分支
git switch <branch name> 切换分支
git switch -c <branch name> 创建并切换分支
在开发中,在自己的分支上编写代码,代码编写完成后,再将自己的分支合并到主分支
变基(rebase)
在开发中除了通过merge合并分支,还可以通过变基来完成分支的合并。
通过merge合并分支时,在提交记录中会将所有的分支创建和分支合并的过程全部都显示出来,当项目比较复杂,开发过程比较波折时,就必须要反复的创建、合并、删除分支,这样会使得代码的提交记录极其混乱。
原理(变基时发生了什么):
- 当发起变基时,git会首先找到两条分支的最近的共同祖先
- 对比当前分支相对于祖先的历史提交,并且将它们提取出来存储到一个临时文件中
- 将当前部分执行目标的基底
- 以当前基地开始,重新执行历史操作
变基和merge对于合并分支来说最终的结果都是一样的!但是变基会使得代码的提交记录更整洁、更清晰!大部分情况下合并和变基是可以互换的,但是如果分支已经提交给了远程仓库,那么尽量不要使用变基。
tips:
具体用哪一个以所在公司为准!
谢谢您的阅读,祝您天天开心!!!