You already know that a project repository does not contain its Submodules' files the parent repository only saves the Submodules' configurations as part of version control. Git regards adding a Submodule as a modification like any other - and requests you to commit it to the repository: $ git commit -m "Add 'ToProgress' Javascript library as Submodule"Ĭongratulations: we've now successfully added a Submodule to our main project! Before we look at a couple of use cases, let's see how you can clone a project that already has Submodules added. Let's have a look at our project's status: $ git status Please do yourself a favor and always use proper Git commands to manage Submodules. Therefore, it's highly recommended not to mess with configuration files and values manually. Git's internal management of Submodules is quite complex (as you can already guess from all the. As you can see from the ".git" subfolder contained herein, this is a fully-featured Git repository. (2) Of course, this is reflected in our file structure: our project now contains a new "ToProgess" folder inside the "lib" directory.Remote: Total 180 (delta 51), reused 0 (delta 0), pack-reused 91 Remote: Compressing objects: 100% (89/89), done. (1) The command started a simple cloning process of the specified Git repository:.With the "git submodule add" command, we'll add a little Javascript library from GitHub: $ git submodule add In our sample project, we create a new "lib" folder to host this (and future) library code. Let's see how to work with Submodules in practice. from inside it like with any other repository. In the common case of including a code library, you can simply add the library as a Submodule in your main project.Ī Submodule remains a fully functional Git repository: you can modify files, commit, pull, push, etc. The only specialty is that it is nested inside a parent repository. Repositories Inside RepositoriesĪ "Submodule" is just a standard Git repository. Since these are quite common problems in everyday projects, Git of course offers a solution: Submodules. Again, we need to download the raw files and replace the original items. Should the library change (because bugs were fixed or new features added), we'll have a hard time updating the library code.There's no need to keep these files in the same version control context as our project. The library, actually, is a project of itself and should be kept separate from our work. This mixes external code with our own, unique project files.By casually throwing those library files into your project, we're inviting a couple of problems: While this is a valid approach, it's not the cleanest one. The manual way is to simply download the necessary code files, copy them to your project, and commit the new files into your Git repository. Often in a project, you want to include libraries and other resources. Learn on: Desktop GUI | Command Line Language: EN | CN Submodules
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |