我是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