我试图理解为什么Git有很多地方可以存储更改。想象一个更简单的Git模型,它只有一个本地仓库(没有单独的暂存区或工作区)。在这个模型中:
- 我们可以选择要跟踪的本地仓库文件
- 我们可以通过在不同的时间点拍摄仓库的快照来跟踪更改
- 我们可以像往常一样获取origin/master的更改并进行合并
- 我们可以有多个分支并在它们之间切换
- 我们可以像往常一样从本地仓库推送更改到“origin”
换句话说,我们几乎可以做所有Git现在所做的事情,但没有工作区、暂存区和本地仓库的概念混乱。为什么同时拥有三者很有用呢?
git add
从本地更改的子集构建提交,则可以忽略暂存区,而本地仓库和工作区之间的区别基本上是源代码控制整个概念的基础。您到底想要摆脱什么? - chepner