【发布时间】:2019-05-22 09:08:01
【问题描述】:
好的,所以我无法理解 git 做什么或不做什么。
当我听到版本控制时,我想我不再需要在我的计算机上存储不同的文件,它们的代码基本相同,只需稍作改动。
例如,如果我有一个 C 文件,我在其中使用 timer1 生成一个 PWM 但后来我想用 timer2 测试它。我通常会将代码注释掉并尝试一下。或者我会复制 C 文件并对其进行修改,而不用担心破坏我的工作代码。然后我会继续尝试其他事情,始终拥有我的原始文件和工作代码。
现在有了 git,我想我可以拥有我的代码并完成所有这些提交,如果我想回到原始版本,它会很好而且安全,因此可以进行版本控制。但我正在尝试一些关于 codecademy 的在线教程。
我有一个本地存储库,已发送到 github。 我有一个自述文件,我对其进行编辑并发送到 git hub 并显示出来。然后我做了更多的更改并再次发送。
然后我使用提交 sha 进行了重置。我尝试推送它,它说我本地的头与遥控器不匹配。然后我检查了自述文件,我希望它恢复到我的版本 1,但它没有......所以我没有这些文件的多个版本?
所以我不了解版本控制部分...我可以拥有一个文件的多个版本,并且 git 会跟踪所有版本以及将我的文件恢复到版本 1 的能力...或者我是这里遗漏了什么?
因为我认为这样做是:
我有一个文件
我修改了我的文件
- 我使用 git 进行版本控制
- 我编辑了我的文件,git 会以某种方式将其索引为版本 2,并且它将具有我的版本 1 的备份版本。
- 我一直在编辑和提交,git 会跟踪对我的文件所做的所有更改,并且我总是可以返回到我的文件的旧版本。
我认为它是如何做到这一点的,而不仅仅是复制我所做的文件,但在我看来我们还没有做到这一点,这不是 git 所做的。
【问题讨论】:
-
您的期望是良好且正确的,您可能只是想使用另一个(“由人类和为人民制造”)VCS,而不是 Git
-
您是
reset还是revert?这可以对与遥控器同步产生影响
标签: git version-control version dvcs