git 中的远程仓库和本地仓库有什么区别?

What is the difference between remote repository and local repository in git?

我目前使用 Sourcetree 作为版本控制工具。当我想克隆现有的存储库时,有两个存储库,即本地存储库和远程存储库。只是想知道哪个是克隆存储库的最佳选择。

嗯,这取决于你所说的克隆是什么意思。

如果您指的是 git clone REPO_URL 中的克隆(我假设您确实是这个意思),那么通常我们会克隆远程存储库,因为一个项目中的所有贡献者都会推送他们的该存储库的代码。因此,通过克隆它,您可以获得所有人都能看到的所有可用代码。

除此之外,您无法真正克隆其他人的 local,就像在他们的文件系统、存储库中一样,除非他们通过闪存棒将其提供给您或者您实际获取他们的回购协议。

否则,如果您只想克隆一个存储库,就像制作它的精确副本并将其上传到另一个提供商,那么您只需要决定要复制哪个存储库并移动到另一个地方。请记住,许多服务(GitHub、GitLab、Bitbucket)确实允许您相当容易地导入其他存储库。

在 SourceTree 术语中:

本地存储库 是已经存在或已存储在您的计算机上的存储库。它可以是您之前已经克隆或在 SourceTree 之外克隆的存储库(例如,在命令行上使用 git 命令)。 您不克隆本地存储库,您只需要将它们的文件夹添加到 SourceTree 界面,如 UI 所示“拖放存储库folders" 到 SourceTree,这样它们就会出现在 UI.

远程存储库 是存在于其他地方的存储库,在 Github、Gitlab、Bitbucket 或任何其他托管 Git 存储库。这是您需要 克隆 到您自己的机器中的那个,现在它可以成为 本地 远程存储库的副本.

这取决于你想达到什么目的。

使用源代码树,您可以跟踪计算机上的内容(本地)或跟踪某个多人在线工作的存储库(远程)。

LOCAL 克隆:如果您在本地计算机上处​​理某事而无需其他人处理,则可以选择此选项。这将有助于对您自己的工作进行版本控制。所以如果你破坏了什么,你可以回滚

REMOTE 克隆:如果有超过 1 人的工作,您可以将其上传到 github(或其他在线平台)。即使只有您在处理它,您仍然可以上传您的作品,以便您可以随时随地访问它。