I have a Git repository including a Git repository.
repo1/ .git/ files repo2/ .git/ files files
Is it possible to work with this architecture?
Submodules allow you to keep a Git repository as a subdirectory of another Git repository. This lets you clone another repository into your project and keep your commits separate.
Git allows you to include other Git repositories called submodules into a repository. This allows you to track changes in several repositories via a central one. Submodules are Git repositories nested inside a parent Git repository at a specific path in the parent repository's working directory.
A Git repository tracks and saves the history of all changes made to the files in a Git project. It saves this data in a directory called . git , also known as the repository folder. Git uses a version control system to track all changes made to the project and save them in the repository.
Go to the repo where you want the other repo to be merged, and run the script. Now push the changes on the master branch to remote/origin. This step may not be required depending on what you are trying to do.
You can have nested git repos:
The parent repo will simply ignore nested repo.
jleedev comments and illustrates with this gist script that the parent repo would track the nested repo state through a gitlink.
(gitlink = SHA-1 of the object refering to a commit in another repository. Git links can only be specified by SHA or through a commit mark.
A gitlink has a special mode '160000
', used for submodules, but also present for simple nested repos).
However, usual commands would not acknowledge the nested repo: add
or commit
would apply only in one repo, not the other.
git submodule would allow to reference the nested repo from the parent repo, and keep an exact reference of the child repo.
Another alternative could involve:
You are trying to accomplish something called a "submodule".
Please check out Git Tools - Submodules to find out how it's working.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With