我是GitHub的新手,我不完全明白分支是什么。我感觉它就像一个文件夹。请解释一下:文件夹和分支之间究竟有什么区别?在GitHub存储库中,分支与文件夹有什么不同?
回答
某种程度上,它们都是一组文件。但是,它们的概念来自不同的环境,使用方式非常不同。
A 文件夹是文件系统的一个功能。我希望我不必多说,因为这是一个基本的计算概念。您可以嵌套文件夹,并且它们没有关于版本控制系统的特殊功能(主要是历史记录)。
A 分支是版本控制系统的一个功能。它允许您一次管理更多的开发任务。它们包含历史记录,您可以随时检查他们从哪个提交中转移。但是,你不能将它们嵌套在Git中。
我会开始学习如何在Git上使用分支https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging。
迄今为止的回答很好;我会补充我的两分钱。你已经知道一个文件夹是什么,所以接下来我们必须考虑一下提交是什么。提交是一个文件夹的快照 - 特别是某个时间点存储库的根文件夹。一个分支只是一个指针来提交。从优秀Git book看看下面的图片:
在这张图片中,灰色框的提交。你可以看到每个人都有自己的主文件夹快照。橙色框是分支 - 注意它们如何只是指向提交的指针。在这种情况下,有两个分支(v1.0
和master
),它们都碰巧指向相同的提交。 HEAD
指向您当前所在的分支。因此,如果您要在上述情况下作出新承诺,master
将指向新承诺,其父承诺为f30ab
。 v1.0
仍然会指向f30ab
。
因此,尽管分支可以在某种程度上像文件夹一样行事,因为不同的分支可以“包含”不同的(版本)文件,实际上它是包含这些不同(版本)文件的不同提交,提交。
顺便说一句,正如其他人所提到的,你应该真的阅读Git book。在了解基础知识的基础上,使用Git更加愉快。
+1在阅读Git书籍时,它不仅能够帮助您理解内部结构,而且还能够推断其命令和工具的作用以及何时使用它们。值得一小时左右阅读。 –
- 1. 文件夹vs github中的存储库
- 2. 更改哪个文件夹是远程github存储库的主分支
- 3. 为什么github在创建新的存储库时显示灰色文件夹?
- 4. 获取GitHub存储库的存储库默认分支
- 5. 本地推送GitHub库到主分支:不推送文件夹
- 6. 如何在github中具有相同文件夹名称的同一存储库中添加文件
- 7. 如何在github存储库中创建文件夹?
- 8. 将存储库内的分支与另一个github存储库连接
- 9. 从不同的文件夹中创建与SVN文件分支
- 10. 从APK中添加什么文件到GitHub存储库?
- 11. Bitbucket/Github存储库分支和主分支
- 12. github:存储库与存储库
- 13. 为什么我的新文件不出现在我的GitHub存储库中?
- 14. GitHub的多个存储库与分支的多个环境
- 15. 将mysql数据库存储在不同的文件夹中
- 16. 废止分支与常规分支有什么不同?
- 17. 同步本地nongithub存储库与github存储库
- 18. Git将一个文件夹添加到存储库中的所有分支
- 19. 在Github上更新分叉存储库的多个分支
- 20. 从github用户分支所有存储库
- 21. GitHub存储库中的文件数
- 22. GIT同一个存储库在不同的机器上有不同的分支
- 23. GitHub:什么是“wip”分支?
- 24. 在子文件夹中存储codeigniter库
- 25. 分叉Github上的私有存储库
- 26. 如何在git中的不同文件夹中有不同的分支?
- 27. 检索Google文件夹内容与Google文档文件夹 - 有什么不同?
- 28. 在所有Git存储库中的同一分支上工作
- 29. svn - 将存储库+历史记录的一部分复制到不同存储库中的文件夹中?
- 30. SVN。存储库文件夹
你是什么意思的“文件夹”?你能详细说明吗? –
这不是你能从这里快速回答中得到的东西。你的问题背叛了对基础知识的缺乏理解。我建议你花一些时间浏览像git book这样的综合git教程(https://git-scm.com/book/en/v2)。这应该让你启动并运行。 –
另请参阅http:// stackoverflow。com/a/2107672/6309 – VonC