Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Mastering Git

You're reading from   Mastering Git Attain expert-level proficiency with Git by mastering distributed version control features

Arrow left icon
Product type Paperback
Published in Aug 2024
Publisher Packt
ISBN-13 9781835086070
Length 444 pages
Edition 2nd Edition
Tools
Concepts
Arrow right icon
Author (1):
Arrow left icon
Jakub Narębski Jakub Narębski
Author Profile Icon Jakub Narębski
Jakub Narębski
Arrow right icon
View More author details
Toc

Table of Contents (21) Chapters Close

Preface 1. Part 1 - Exploring Project History and Managing Your Own Work FREE CHAPTER
2. Chapter 1: Git Basics in Practice 3. Chapter 2: Developing with Git 4. Chapter 3: Managing Your Worktrees 5. Chapter 4: Exploring Project History 6. Chapter 5: Searching Through the Repository 7. Part 2 - Working with Other Developers
8. Chapter 6: Collaborative Development with Git 9. Chapter 7: Publishing Your Changes 10. Chapter 8: Advanced Branching Techniques 11. Chapter 9: Merging Changes Together 12. Chapter 10: Keeping History Clean 13. Part 3 - Managing, Configuring, and Extending Git
14. Chapter 11: Managing Subprojects 15. Chapter 12: Managing Large Repositories 16. Chapter 13: Customizing and Extending Git 17. Chapter 14: Git Administration 18. Chapter 15: Git Best Practices 19. Index 20. Other Books You May Enjoy

Subtrees versus submodules

In general, subtrees are easier to use and less tricky. Many people go with submodules, because of the better built-in tooling (they have their own Git command, namely, git submodule), detailed documentation, and similarity to the Subversion externals, making them feel falsely familiar. Adding a submodule is very simple (just run git submodule add), especially compared to adding a subtree without the help of third-party tools such as git subtree or git subrepo.

The major difference between subtrees and submodules is that, with subtrees, there’s only one repository, which means just one life cycle. Submodules and similar solutions use nested repositories, each with its own lifeline.

Though submodules are easy to set up and fairly flexible, they are also fraught with peril, and you need to practice vigilance while working with them. The fact that the submodules are opt-in also means that the changes touching the submodules demand a manual update...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image