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