Skip to main content

The smart way to clone GitHub sub-directories!

Do you want to clone a sub-directory of a GitHub repository without downloading the whole repo? Do you want to save time and bandwidth by cloning only the part of the repo that you need? If yes, then you need clone-github-subdir, a handy command-line tool that lets you do just that!

clone-github-subdir is a simple and fast way to clone any sub-directory of a GitHub repo to your local machine. It is useful for many scenarios, such as:

  • You want to try out a sample project or a tutorial from a large repo, but you don’t want to clone the entire repo.
  • You want to reuse some code or files from a sub-directory of another repo, but you don’t want to fork or clone the whole repo.
  • You want to contribute to a sub-directory of an open-source repo, but you don’t want to clone the whole repo and deal with unnecessary files.

With clone-github-subdir, you can clone any sub-directory of a GitHub repo with just one command. You can also choose to clone only the current sub-directory, not its parent directory, for more convenience.

clone-github-subdir is easy to install and use. You can install it from crates.io using cargo, or you can build it from source using git. To use it, you just need to provide the GitHub sub-directory URL as an argument, and optionally use the --curdir or -c option to clone only the current sub-directory.

For example, if you want to clone the nodejs/hello sub-directory of the second-state/wasm-learning repo, you can run:

cgs https://github.com/second-state/wasm-learning/tree/master/nodejs/hello

Or if you want to clone only the hello sub-directory, you can run:

cgs -c https://github.com/second-state/wasm-learning/tree/master/nodejs/hello

clone-github-subdir is a powerful and handy tool for anyone who works with GitHub repos. It saves you time and bandwidth by cloning only what you need. It is also open-source and licensed under the MIT license, so you can use it freely and modify it as you wish.

If you want to learn more about clone-github-subdir, check out its Github page.

You can install clone-github-subdir from crates.io, i.e., Rust Package Registry, if you already have rust cargo installed.

Comments

Popular posts from this blog

Unlock protected blocks in Siemens SIMATIC Step 7

Recently I'd been called by Hindalco's Fabrication Plant division to unlock the protected blocks in Siemens SIMATIC Step 7. They were in need to unlock those blocks since an year because of 1 million Rupees of loss per month. They want to re-program those blocks but it was locked by the man who'd done the setup. From the people working in that department, I came to know that they were trying to call that man (someone from Italy) right here but he's not coming. Actually, what he'd done was that he'd locked some of the blocks and deleted the source file. And Siemens didn't provide any feature to unlock. Department people also told me that even the people working in Siemens don't know how to do it. Being a software engineer I know that any thing can be reverse engineered. So I took up the challenge. How did I unlocked the blocks? The first thing I'd done was searched about this software at Google and read about what is this software all about. Aft...

JS: The complete code example of Crypto.js (DES)

For one of the project I was trying to use crypto.js but I found that the Quick-start Guide have some deficiency in terms of library usage. So I am writing it here as a useful note for memory recap. <script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/tripledes.js"></script> <script> var encrypted = CryptoJS.DES.encrypt("The secret message", "secret_key"); var e_msg = encrypted.toString(); console.log(e_msg); var decrypted = CryptoJS.DES.decrypt(e_msg, "secret_key"); var d_msg = decrypted.toString(CryptoJS.enc.Utf8); console.log(d_msg); </script>

Encode or decode date in 3 characters

I have developed a new way to encode/decode dates within 3 characters by using base-36 format. What is a base 36 format? Base 36 or hexatridecimal is a positional numeral system using 36 as the radix. The choice of 36 is convenient in that the digits can be represented using the Arabic numerals 0-9 and the Latin letters A-Z. In simple language, base-36 format refers to series of 0-9 followed by A-Z characters, i.e., 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ; where each character refers to the position index in series. The concept can also be represents as shown in the below table Series Character Series Character Series Character Series Character 0 0 10 A 20 K 30 U 1 1 11 B 21 L 31 V 2 2 12 C 22 M 32 W 3 3 13 D 23 N 33 X 4 4 14 E 24 O 34 Y 5 5 15 F 25 P ...