我是否总是需要一个本地文件夹来反映git repo(在github上)?

时间:2013-04-10 11:26:53

标签: git

我是一个使用git的初学者,我正在努力理解它。我是否总是需要设置一个本地文件夹来反映github.com上托管的git repo?有可能直接在git repo上工作吗?请原谅我对此事的一般无知。

4 个答案:

答案 0 :(得分:3)

好吧,在Github上直接“直接在repo上工作”会要求你有文件系统访问权限(通过SCP,FTP或类似的协议)。出于管理和安全的原因,这没有实现(更不用说它不是Git如何工作的思维方式)。

通过“直接在repo上工作”,您可能还会使用SVNCVS或其他集中版本控制系统,其中只有本地工作副本,而不是完整回购的副本。
对于Git来说,这在技术上是不可能的(或者如果它被实现,之后会引起许多技术问题)。

Git是distributed version control system (DVCS),此类系统的核心概念之一是每个客户都拥有回购的完整历史。
虽然这意味着您最初需要下载大量数据而不是集中式存储库(有时至少),但它提供了许多优势。例如,几乎所有的存储库操作都是本地的,使它们更快(如果您的客户端不必立即通过网络发送新的提交数据,则提交只需要几分之一秒而不是30秒或更长时间)。

因此,是的,您必须有一个本地克隆来处理Git / Github存储库中的文件。请注意,您还可以创建不在Github上的本地存储库(当然,其他人不能直接获取这些文件),相反,您 没有克隆您的repo - 但是你不能改变回购的内容;)

答案 1 :(得分:2)

当您使用Git时,您需要在将其更改为远程(例如Github)之前在本地进行更改。这是因为Git是“分布式版本控制系统”,或DVCS。它是分发的,因为正在处理项目的每个人都有一个存储库的副本。人们使用DVCS的原因有几个:

  1. 您离线工作了一段时间;和
  2. 您希望在将这些更改推送到每个人的本地存储库之前测试您对本地项目所做的更改(这样可以减少引入错误的机会)
  3. 这只是几个原因,为什么许多人更喜欢使用DVCS而不是集中式对应物(如Subversion)。

    简答:

    不,使用Git时无法直接编辑远程文件。尽管Github为单个文件提供了此功能,但它纯粹是为了您想要即时进行的微小更改。 在本地编辑文件,然后将其推送到远程

答案 2 :(得分:1)

是的,您始终需要设置本地文件夹。 Git是distributed version control system,根据定义,它需要存储库的本地副本。

重要的是要意识到GitHub存储库本身并没有什么特别之处。从根本上说,它与您的本地副本相同。

Git利用对等体系结构,而不是使用客户端 - 服务器体系结构的CVS或SVN。

另外,GitHub确实支持通过他们的网络界面直接编辑文件。

答案 3 :(得分:1)

是的,您必须将远程存储库克隆到本地计算机才能使用它。

git clone将为您执行此操作(如果未另行指定)。