目录
1. git commit
commit
用于仓库中提交记录 保存的是你目录下所有文件的快照,就好比复制粘贴一份整个目录。
git希望提交记录尽可能的轻量,在每次进行提交时他会将当前版本与仓库中的上一个版本进行对比,并把所有的差异打包到一起作为一个提交记录。git还保存提交的历史记录,开发人员维护提交历史。
2. git branch
git 的分支也非常轻量它们只是简单地指向某个提交记录。创建再多的分支也不会造成储存或者内存上的开销,并且按逻辑分解工作到不同的分支。简单用一句话来说:‘我想基于这个提交以及它所有的父提交进行的新工作’。
git branch newImage /新创建一个newImage分支
git checkout newImage /切换到newImage分支上
git commit /提交当前分支记录
git checzkout -b newImage /创建一个newImage新分支并切换过去
3. git merge
在git中合并两个分支时会产生一个特殊的提交记录,它有两个父节点。简单来说:“我要把这个两个父节点本身及她们所有的祖先都包含进来”
git merge newImage /将newImage分支合并到当前main主分支
4. git rebase
git rebase
建立基础就是重新分配一系列得提交记录,copy它们然后在另外一个地方逐个放下去,rebase的优势就是可以创造更线性得提交历史。
下面用图画来解释一下
- 起初是main和bugFix 两个并行的分支(当前分支指向的是bugFix)
将bugFix分支里的工作直接移到main分支上
git rebase main
移动之后bugFix分支上的工作就在main的最前端。
请注意:提交记录C3依然存在(图片上半透明的例程),而C3‘ 是我们rebase到主分支上的C3副本。
切换到main分支上,把它rebase到bugFix分支上
git rebase bugFix
补充:1.配置SSH公钥
生成
$ ssh-keygen -t rsa -C "1109053660@qq.com"
输入三次回车
查看
$ cat ~/.ssh/id_rsa.pub
补充: 2.参考链接
前往这个地址
https://learngitbranching.js.org/?locale=zh_CN
学习git更方便更快捷,
有些图例的展示更直观对git操作的理解,
还有通俗易懂的解释。
评论