Git 命令如何执行
首先,必须确定代码的存储位置。常见的假设是只有两个位置 - 一个位于 Github 等远程服务器上,另一个位于我们的本地计算机上。然而,这并不完全准确。Git 在我们的机器上维护了三个本地存储,这意味着我们的代码可以在四个地方找到:
- 工作目录:我们编辑文件的地方
- 暂存区:为下一次提交保留文件的临时位置
- 本地存储库:包含已提交的代码
- 远程存储库:存储代码的远程服务器
大多数 Git 命令主要在这四个位置之间移动文件。
Git 是如何工作的?
下图显示了 Git 工作流程。
Git 是一个分布式版本控制系统。
每个开发人员都维护主存储库的本地副本,并编辑和提交到本地副本。
提交速度非常快,因为该操作不与远程存储库交互。
如果远程存储库崩溃,可以从本地存储库恢复文件。
Git merge 与 Git rebase
有什么区别?
当我们将更改从一个 Git 分支合并到另一个分支时,我们可以使用“git merge”或“git rebase”。下图显示了这两个命令的工作原理。
Git merge
这会在主分支中创建一个新的提交 G'。G' 将主要分支和特征分支的历史联系起来。
Git 合并是非破坏性的。主分支和功能分支都没有改变。
Git rebase
Git rebase 将功能分支历史移动到主分支的头部。它为功能分支中的每个提交创建新的提交 E'、F' 和 G'。
rebase 的好处是它具有线性提交历史。
如果不遵循“git rebase 的黄金法则”,Rebase 可能会很危险。
Git Rebase 的黄金法则
切勿在公共分支上使用它!