2017-09-25 3 views
1

Le problème
je lance simplement une commande git clone --recursive <repo> pour cloner une prise en pension avec des sous-modules, il a cloné le repo, mais a échoué lorsque clone sous-modules. Le message d'erreur estclone Git/sous-module obtenir l'erreur « est le dépôt extérieur »

fatal: C:\Users\folderJobs: 'C:\Users\folderJobs' is outside repository

Le folderJobs était le nom du dossier précédent de cette prise en pension, je ne pas sous-modules à ce moment-là.

Contexte
J'ai un repo utilisé pour synchroniser le code de la machine A à la machine B, la machine B est un serveur avec Job Scheduler pour exécuter des scripts forment plusieurs projets. J'ai précédemment géré un projet server_scripts qui est la collection de tous les scripts de différents projets. Ce n'était pas une façon parfaite, j'ai donc décidé d'ajouter tous les projets comme sous-module dans ce projet server_scripts. Je suppose que chaque je dois mettre à jour à la dernière version des scripts, juste besoin d'exécuter

git submodule update --recursive --remote.

J'ai fait ces changements sur la machine A (mon poste de travail), puis je suis arrivé à la machine B, j'ai supprimé le folderJobs, parce que je voulais cloner une toute nouvelle copie. Je cours le git clone --recursive après avoir supprimé folderJobs. Le nom du dossier précédent était différent du nom du projet, mais cette fois j'utiliserais le même nom de dossier que le nom du projet.

J'ai essayé la même commande sur ma machine A, cela a fonctionné pour différents endroits de mon système de fichiers.

Question

Je suppose que la commande clone est de créer un dossier flambant neuf de la pension, mais il semble que le Git rappelle quelque chose sur ma machine B.

Quelqu'un at-il le même message d'erreur lorsque cloner? Je ne sais pas comment le résoudre après avoir dépensé une demi-journée Googling.

Merci pour toute information.

- Informations complémentaires

1> Je vérifié la version Git pour les deux machines, petite différence, est que la raison?

$ git --version 
git version 2.14.1.windows.1 

$ git --version 
git version 2.12.2.windows.1 

2> J'ai essayé d'exécuter la commande dans un autre dossier sur la machine B, la même erreur

Répondre

0

, mais il semble que le Git rappelle quelque chose sur ma machine B.

Double -Vérifiez le contenu de votre fichier .gitmodules dans votre repo: vous ne voulez pas de chemin absolu.

Assurez-vous également que vous n'avez pas de dossier .git caché déjà présent dans C: \ Users.

+0

Salut VonC, merci pour la suggestion. J'ai vérifié les '.gitmodules', seulement deux adresse repo à distance. Il n'y a pas de '.git' dans le dossier supérieur. –

+0

@ZhongDai pouvez-vous vérifier la différence dans 'git config -l' sur les deux systèmes? – VonC