【发布时间】:2015-07-15 22:35:23
【问题描述】:
我知道“提交”有点像“更新”“本地存储库”和“推送”将本地存储库更改复制到远程/在线存储库,对吗?
但是如果我在本地修改我的代码(例如,我的 repo 位于我的文档中,我的代码在哪里,这是我进行编辑的地方),那不是已经“更改我的本地 repo”了吗?为什么我必须承诺?
【问题讨论】:
我知道“提交”有点像“更新”“本地存储库”和“推送”将本地存储库更改复制到远程/在线存储库,对吗?
但是如果我在本地修改我的代码(例如,我的 repo 位于我的文档中,我的代码在哪里,这是我进行编辑的地方),那不是已经“更改我的本地 repo”了吗?为什么我必须承诺?
【问题讨论】:
当您修改代码时,您正在创建对文本文件的更改。文本文件不记得您何时以及如何进行更改,它始终反映最新版本。
当您告诉 git 您要提交更改时,git 会分析文本文件现在与您上次提交时的差异。它以高度压缩的方式存储这些更改。即它不存储整个文件。
您现在可以进行更多更改并再次提交,再次,git 将存储上次提交和文件当前状态之间的差异或“增量”。
通过这种方式,您只需撤消提交堆栈即可将文件回滚到任何提交时的状态。
【讨论】: