GIT 中的 Branch 和 Remote 有什么区别?

What is the difference between Branch and Remote in GIT?

我目前正在上 udacity 的 GIT 和 GITHUB 课程。我真正感到困惑的一件事是 remotebranch 之间的区别是什么,因为根据我的理解,两者对我来说意义相同。

分支可以是本地的也可以是远程的。本地分支由远程分支跟踪。

它们是完全不同的概念。

远程基本上是存储存储库副本的位置。因此,例如,您可以在 GitHub 中有一个遥控器,在 BitBucket 中有另一个,在 Kelly 的 PC 中有另一个,等等

存储库中的分支意味着您临时进行了一些更改,但由于尚未完成(或出于其他原因)而不想将其放入主分支。它们可以是本地的,这样您的遥控器永远看不到它们,或者您可以将分支推送到遥控器。

这里准确一点,我们用Git自己的documentation on What a Branch Is:

A branch in Git is simply a lightweight movable pointer to one of these commits.

Git 中的分支只是指向提交的指针。通常,此提交将依次与链或分支链结构中的其他提交连接。当我们通常想到分支时,我们会想到以某种方式逻辑排序的提交集合,但从技术上讲,分支只是指向提交的指针。

同样,来自 Working with Remotes 上的文档:

Remote repositories are versions of your project that are hosted on the Internet or network somewhere

远程,实际上只是远程存储库的缩写,是存储分支及其提交的中心位置。远程也可以有分支,但通常您不会直接与这些远程分支交互。相反,有本地远程跟踪分支,顾名思义,跟踪实际远程分支的真实状态。