Comprendre git sous-module et le “gel” sur un commit de hachage ou de version
En supposant que la suite de présentation de projet:-
mainrepo_git
|____ .git
|____ .gitmodules
|____ proj <------- directory containing the code files for mainrepo
|____ 3rdpartysourcecode <-- directory containing upstream open source code
| |____ .git
| |____ 3rdpartyfiles
|
|____ mainrepofilesanddirectories
mainrepo_git contient le code source, je suis directement responsable. J'ai accès en lecture/écriture et peut pousser et tirer directement à distance à un dépôt git qui je gère.
Imbriquée à l'intérieur d' mainrepo_git est un répertoire que j'ai nommé 3rdpartysourcecode. Cette 3rdpartysourcecode répertoire est en fait un autre repo git (aussi communément appelé un "git sous-module") qui pointe vers l'open source 3ème partie dépôt git gérés par d'autres développeurs. Je n'ai qu'un accès en lecture. Pas d'accès en écriture.
Est-il possible de "geler" un spécifique de commettre hachage de l'git sous-module par rapport à une livraison faite dans mon référentiel principal?
Par exemple, si je suis (ou j'revenir à) s'engager a12ucak dans mon mainrepo, mon git sous-module obtient également revenue à une version spécifique qui je l'attache à commettre a12ucak? Et lorsque je passe à commettre b349jdsak, mon git sous-module obtient également revenue à une version qui je l'attache à b349jdsak?
Donc ma question est: il existe un moyen de créer un lien entre un particulier s'engager dans les principaux repo avec une validation correspondante dans le git sous-module? En sorte que quand je caisse spécifique s'engager dans le git de pensions de titres, la validation correspondante dans le git sous-module sera également de la caisse.
OriginalL'auteur Calvin Cheng | 2011-08-30
Vous devez vous connecter pour publier un commentaire.
De congélation est le point de l'ensemble des submodules. Vous devriez vraiment lire un tutoriel sur elle. En un mot,
git add 3rdpartysourcecode
(important pas de slash!) suivi par un commit verrouille le cours d'extraction sous-module s'engager à le supermodule commettre. Puis, plus tard vous utilisezgit submodule update
de vérifier que la révision.OriginalL'auteur Karl Bielefeldt