我已经使用 Github 一段时间了,但我对 Git 背后的一些关键概念有点困惑。
我的 VCS 背景从 Source Safe 开始,然后过渡到 SVN 和 TFS。我想我被困在 CVS 系统的旧思维方式中,比如 SVN 和 TFS。
在 Git 中什么是服务器端和客户端。据我了解,它们之间没有明显的区别。
从技术意义上讲,Fork 是什么意思。它是分支的“类型”吗?
git 中的分支是什么意思?和SVN里一样吗?
此外,我一直在寻找 Git 核心概念的良好可视化,但还没有找到适合我的。
最佳答案
下面是理解 Git 的方法:
- 忘掉你对其他 VCS 的了解(暂时!)
- 阅读The Git Parable . 真的虽然阅读它,但如果您略读,您会漏掉一些东西,而只是试图用您现有的 SCM 知识来填补空白,这会让您失望。事实上,如果你真的想理解,请大声阅读那篇博文。
从本质上讲,Git 只是一种保存和恢复快照 的方法。每个快照都有一个“ID”(SHA1),并且可能有一个或多个指向它的“refs”(指针)。分店?只是特定快照的更友好的名称。标签?一样。头?那只是当前快照的“代名词”。方便的是,这些快照每个都带有更改内容的描述 - 此描述是提交消息。
关于git - git、github、fork & branch 的核心概念是什么。 git 与 SVN 相比如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9204168/