在git中,远程存储库和本地存储库有什么区别?

在git中,远程存储库和本地存储库有什么区别?,git,atlassian-sourcetree,Git,Atlassian Sourcetree,我目前使用Sourcetree作为版本控制工具。当我想克隆已有的存储库时,有两个存储库,即本地存储库和远程存储库。只是想知道哪一个是克隆存储库的最佳选项 这取决于你所说的克隆是什么意思 如果您是指git clone REPO_URL中的克隆(我假设您的意思是这样的),那么通常我们会克隆远程存储库,因为项目中的所有参与者都会将其代码推送到该存储库。因此,通过克隆它,您可以获得每个人都可以看到的所有可用代码 除此之外,你不能真的克隆其他人的本地文件,比如他们的文件系统、存储库,除非他们用闪存棒给你,

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


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

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

除此之外,你不能真的克隆其他人的本地文件,比如他们的文件系统、存储库,除非他们用闪存棒给你,或者你从物理上获得了他们的回购协议

否则,如果您只是想克隆存储库(如中所示),并将其精确复制并上载到另一个提供商,那么您只需决定要复制哪个repo并移动到另一个地方。请记住,许多服务(GitHub、GitLab、Bitbucket)确实允许您相当轻松地导入其他存储库。

在SourceTree术语中:

本地存储库是已经存在或已经存储在您的计算机上的存储库。它可以是您之前已克隆的存储库,也可以是在SourceTree之外克隆的存储库(例如,在命令行上使用
git
命令)您不克隆本地存储库,只需将它们的文件夹添加到SourceTree界面,如UI中所示,将“拖放存储库文件夹”到SourceTree中,以便它们显示在UI中


远程存储库是存在于Github、Gitlab、Bitbucket或承载Git存储库的任何其他服务器中的存储库。这是您需要将克隆到您自己的机器中的一个,现在它可以成为远程存储库的本地副本

这取决于您想要实现的目标

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

本地克隆:如果您正在本地计算机上处理某些内容,而没有其他人需要处理它,则可以选择此选项。这将有助于对您自己的工作进行版本控制。所以如果你弄坏了什么东西,你可以滚回去


远程克隆:如果有超过1人参与的工作,您可以将其上传到github(或其他在线平台)。即使只有你在处理它,你仍然可以上传你的工作,这样你就可以从任何地方访问它。

为什么有选择?哪个已经存在,是远程存储库还是本地存储库?如果它是本地的,为什么要克隆它?为什么要克隆任何存储库?你没有描述你的现状或目标。(顺便说一句,我使用Sourcetree和几十个存储库一起使用,但我从未使用Sourcetree来克隆任何东西。)您可以克隆一个本地存储库,以获得第二个本地存储库。但大多数人不想这样做。:-)