我是一个使用git的初学者,我正在努力理解它。我是否总是需要设置一个本地文件夹来反映github.com上托管的git repo?有可能直接在git repo上工作吗?请原谅我对此事的一般无知。
答案 0 :(得分:3)
好吧,在Github上直接“直接在repo上工作”会要求你有文件系统访问权限(通过SCP,FTP或类似的协议)。出于管理和安全的原因,这没有实现(更不用说它不是Git如何工作的思维方式)。
通过“直接在repo上工作”,您可能还会使用SVN,CVS或其他集中版本控制系统,其中只有本地工作副本,而不是完整回购的副本。
对于Git来说,这在技术上是不可能的(或者如果它被实现,之后会引起许多技术问题)。
Git是distributed version control system (DVCS),此类系统的核心概念之一是每个客户都拥有回购的完整历史。
虽然这意味着您最初需要下载大量数据而不是集中式存储库(有时至少),但它提供了许多优势。例如,几乎所有的存储库操作都是本地的,使它们更快(如果您的客户端不必立即通过网络发送新的提交数据,则提交只需要几分之一秒而不是30秒或更长时间)。
因此,是的,您必须有一个本地克隆来处理Git / Github存储库中的文件。请注意,您还可以创建不在Github上的本地存储库(当然,其他人不能直接获取这些文件),相反,您 没有克隆您的repo - 但是你不能改变回购的内容;)
答案 1 :(得分:2)
当您使用Git时,您需要在将其更改为远程(例如Github)之前在本地进行更改。这是因为Git是“分布式版本控制系统”,或DVCS。它是分发的,因为正在处理项目的每个人都有一个存储库的副本。人们使用DVCS的原因有几个:
这只是几个原因,为什么许多人更喜欢使用DVCS而不是集中式对应物(如Subversion)。
不,使用Git时无法直接编辑远程文件。尽管Github为单个文件提供了此功能,但它纯粹是为了您想要即时进行的微小更改。 在本地编辑文件,然后将其推送到远程
答案 2 :(得分:1)
是的,您始终需要设置本地文件夹。 Git是distributed version control system,根据定义,它需要存储库的本地副本。
重要的是要意识到GitHub存储库本身并没有什么特别之处。从根本上说,它与您的本地副本相同。
Git利用对等体系结构,而不是使用客户端 - 服务器体系结构的CVS或SVN。
另外,GitHub确实支持通过他们的网络界面直接编辑文件。
答案 3 :(得分:1)
是的,您必须将远程存储库克隆到本地计算机才能使用它。
git clone
将为您执行此操作(如果未另行指定)。