Git Learning
大约 2 分钟
注
在github上传项目过程中,git commit时,一不小心就会,出现git上传各种各样奇奇怪怪问题。没办法只能系统学习一下git,有一个git小游戏是理解 git 的底层逻辑的好方法
基础篇
了解Git 主要命令
- Git Commit
条件允许的情况下,它会将当前版本与仓库中的上一个版本进行对比,并把所有的差异打包到一起作为一个提交记录。 Git 还保存了提交的历史记录。
git commit -m "123"
git commit -m "456"
- Git Branch
早建分支!多用分支!
注
在 Git 2.23 版本中,引入了一个名为 git switch 的新命令,最终会取代 git checkout,因为 checkout 作为单个命令有点超载(它承载了很多独立的功能)。
git switch -c bugFix
- Git merge && 第一种合并分支方法
Git 中合并两个分支时会产生一个特殊的提交记录,它有两个 parent 节点。
看例题:首先创建分支并切换到该分支,提交一次;再切换回main,提交一次;再把bugFix合并到main中
注意:git merge <branch>命令,其中<branch>为需要合并到当前分支的目标分支名称。
git switch -c bugFix
git commit -m "123"
git switch main
git commit -m "456"
git merge bugFix
- Git Rebase && 第二种合并分支方法
Rebase 实际上就是取出一系列的提交记录,“复制”它们,然后在另外一个地方逐个的放下去。
什么意思?看例题:新建并切换到bugFix分支,提交一次;切换main分支提交一次;再切换回bugFix分支,rebase到main上
git switch -c bugFix
git commit -m "123"
git switch main
git commit -m "456"
git switch bugFix
git rebase main
同样把分支bugFix合并到main中:
merge | rebase | |
---|---|---|
HEAD | main | bugFix |
git | merge bugFix | rebase main |
二者区别:merge是将指定branch合并到HEAD分支中,rebase使用是将HEAD所指向的branch合并到rebase指定分支
高级篇
- 分离HEAD