我在BeanStalk上有一个现有的存储库。我想要做的就是使用OS X应用程序,它允许我使用GUI(就像我在基于Web的BeanStalk网站上所做的那样),例如Tower或Sprout。两者都希望我“克隆”我现有的存储库。
为什么我需要这样做,而不是仅仅从OS X应用程序访问它?
答案 0 :(得分:3)
因为这样,您可以在克隆上本地工作,然后在准备好后再推回。
这与Tower或Sprout使用的distributed nature of the VCS(版本控制系统)有关(此处为“git”)。
看到之间的区别:
答案 1 :(得分:1)
版本控制具有与FTP不同的工作流程。 FTP很简单;编辑文件,然后上传。你完成了。这也可能是个问题。您计算机上的文件与托管服务器上的文件匹配...但您的同事不知道这一点。那可能很危险!
版本控制将其带到另一个级别。一切都被跟踪。这样可以实现更好的团队协作。编辑与其他人共享,当发生冲突时,将标记。
因为它是一个不同的工作流程开发,只能在您的计算机上完成。克隆为您提供存储库中所有文件的副本,然后将它们放在计算机上Tower或Sprout可以监视的区域中。这些工具会在同事推送更新后通知您,然后帮助您更新本地文件(反之亦然)。这些程序对于工作流程至关重要,应该全天开启和使用。
很多时候,我的工作已被普通的FTP工作流覆盖。我对其他人做了同样的事情。我很少使用FTP了。克隆是从计算机上的存储库中获取文件的第一步。
希望这有帮助并祝你好运!
答案 2 :(得分:1)
现代版本控制的全部想法是每个开发者(每个用户)获得他/她自己的项目副本,他/她自己的工作副本(工作区,工作区)。这样一个开发人员的工作就与其他开发人员分开了,不会弄乱别人的工作。 (当然版本控制系统也必须具有合并的能力,即加入变化)。
分布式版本控制的整个想法是每个开发人员(每个用户)获取他/她的自己的存储库副本,他/她自己的克隆。这样一个开发人员就可以处理一系列步骤,一系列提交与其他开发人员分开。
请注意,如果您的计算机上已经已克隆存储库,则所有Git GUI都允许您选择现有的Git存储库(有时通过从所述存储库内部启动)而不是创造新鲜的克隆。当然,你应该记得通过fetch / pull来保持自己的最新状态,并通过推送使你的远程发布库保持最新。
据说,一些git托管网站/软件伪造包括在他们的网络界面中从网络浏览器管理/编辑存储库的能力。例如,GitHub为creating,editing和文件的其他操作提供接口,创建分支并合并它们;您甚至可以通过GitHub克隆和为您创建拉取请求,在外国存储库上提供更改建议。
Beanstalk(也就是他们在文档中所说的内容)对code editing有一些支持(在页面底部,左栏)。
还有像 GitHub for Mac 这样的工具,但我不知道它是否使用GitHub API来编辑远程存储库,例如通过Web浏览器,或者像其他Git GUI一样要求您克隆存储库到桌面。
当然,使用Beanstalk托管的存储库无法正常工作; Beanstalk认为一些third party tools喜欢Habichuelas或Magic Bean for iOS。
答案 3 :(得分:0)
git中没有任何内容需要此行为。赔率是您尝试使用的应用,只是假设您远程托管您的代码,例如在GitHub上。如果您没有远程存储库,那么您应该可以忽略这些说明。
答案 4 :(得分:0)
这取决于托管远程存储库的系统上可用的工具。
例如,为了能够查看远程存储库的版本历史记录,在远程系统上运行的某些必须运行git log
命令或等效命令。你不能自己运行git log
命令;仅适用于您的本地系统,并且仅当您的当前目录位于git存储库中时。
如果您对检查远程系统和上的存储库感兴趣,远程系统提供了基于git
构建的适当工具,那么您不需要克隆存储库。例如,GitHub提供了一个Web界面(在幕后,可能正在运行git log
以及存储在GitHub服务器上的repos上的其他命令。)
如果您想要Git的全部功能,您可以克隆存储库(将其复制到您自己的本地系统)并在本地运行git ...
命令。但当然大多数命令(git pull
,git push
除外)都不会影响远程仓库。
这就是Git和其他分布式版本控制系统的设计方式。