Ahmad Awais



Shallow Clone a Large Git Repository Quickly

Ahmad AwaisAhmad Awais

Say you have a large git repository say 1 GB or even bigger. It may have a lot of branches and a long history. You now want to clone it to make some changes and create a pull request. Cloning it in its entirety with git clone would be a bad idea. Instead, do this:

git clone -b <branch> <url> --depth=1

A practical example would be:

git clone -b master https://github.com/gatsbyjs/gatsby --depth=1

The giant 735.03 MB Gatsby repository, cloned this way is about 680 MB in size. I read that Jira is 677MB, with the working directory being another 320MB, when you clone this way.


You can work this magic when pulling down the code as well:

git pull --rebase origin <branch> --depth=1

A practical example would be:

git pull --rebase origin master --depth=1

That’s about it. You are now shallow cloning and pulling your git repo. It doesn’t make that huge of an impact but I like to stay minimal as far as I can.

Use your code for good.

Helping businesses understand developers. Head of Developer Relations RapidAPI 📟 Edutainer at Node.js CLI Automation and VSCode.pro 🎩 Award-winning Open Source Engineer & Dev Advocate 🦊 Google Developers Expert Web DevRel 🚀 Mars Ingenuity Helicopter code contributor 🏆 8th GitHub Stars Award recipient 🌳 Node.js foundation Community Committee Outreach Lead, Member Linux Foundation, OpenAPI, DigitalOcean Navigator ✌️ Author of various open-source dev-tools and software libraries used by millions of developers worldwide WordPress Core Developer 📣 TEDx Speaker with 100+ talks 🙌 Leading developers and publishing technical content for over a decade 💜 Loves his wife (Maedah) ❯ Learn more →

Say 👋 on Twitter @MrAhmadAwais | Subscribe to the Developers Takeaway!


Developers Takeaway

Takeaway my professional opinion on open-source, developer relations, growing your business with family, and everything in between! Delivered to your inbox a couple of times every year. I'm even funny at times. I hate spam — pinky-promise!

👨‍💻👩‍💻 118,947 Developers Already Subscribed
Comments 0
There are currently no comments.