git - git、github、fork & branch 的核心概念是什么。 git 与 SVN 相比如何?

标签 git svn github branch fork

我已经使用 Github 一段时间了,但我对 Git 背后的一些关键概念有点困惑。

我的 VCS 背景从 Source Safe 开始,然后过渡到 SVN 和 TFS。我想我被困在 CVS 系统的旧思维方式中,比如 SVN 和 TFS。

在 Git 中什么是服务器端和客户端。据我了解,它们之间没有明显的区别。

从技术意义上讲,Fork 是什么意思。它是分支的“类型”吗?

git 中的分支是什么意思?和SVN里一样吗?

此外,我一直在寻找 Git 核心概念的良好可视化,但还没有找到适合我的。

最佳答案

下面是理解 Git 的方法:

  1. 忘掉你对其他 VCS 的了解(暂时!)
  2. 阅读The Git Parable . 真的虽然阅读它,但如果您略读,您会漏掉一些东西,而只是试图用您现有的 SCM 知识来填补空白,这会让您失望。事实上,如果你真的想理解,请大声阅读那篇博文。

从本质上讲,Git 只是一种保存和恢复快照 的方法。每个快照都有一个“ID”(SHA1),并且可能有一个或多个指向它的“refs”(指针)。分店?只是特定快照的更友好的名称。标签?一样。头?那只是当前快照的“代名词”。方便的是,这些快照每个都带有更改内容的描述 - 此描述是提交消息。

关于git - git、github、fork & branch 的核心概念是什么。 git 与 SVN 相比如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9204168/

相关文章:

使用双因素身份验证通过 https 从 GitHub 克隆 Git

windows - SVN 校验和不匹配的根本原因是什么?

github - 使用 Github GraphQL 获取 secret 要点

git - heroku 命令和推送给我 'CLI is deprecated. Please reinstall' 错误

windows - Git 对 POSIX 功能的依赖在 Windows 上仍然是一个问题吗?

svn - 保持同一文件的多个副本同步的最佳方法是什么?

php - SVN网站开发部署解决方案

PHP Git 从 GitHub 脚本 SSH pull

git:检查是否在远程仓库中提交 xyz?

git - 如何保护 Azure DevOps 存储库