2010-08-09 6 views
4

J'essaie de commencer à utiliser git. Notre projet est dans un répertoire avec un système de développement de base. Je l'ai mis en place pour moi, mais je ne peux pas remettre les fichiers à mes collaborateurs.Comment obtenez-vous un projet git sans git-clone?

Nous ne pouvons pas faire un clone git car il doit cloner dans un répertoire vide.

J'ai essayé d'initialiser un dépôt dans le répertoire dev de l'un des systèmes, en ajoutant un remote à mon repo, puis en exécutant git-fetch. Il a fait beaucoup de calculs et de téléchargements, mais à la fin, .git/a fini avec beaucoup de choses, mais les fichiers dans le répertoire dev n'ont pas été modifiés. ls-files ne montre rien.

Je m'attendais à ce que l'extraction récupère tous les fichiers. Qu'est-ce que je comprends mal ici?

+0

Peut-être pourriez-vous simplement cloner dans un répertoire vide, puis copier tous les autres éléments? – Cascabel

Répondre

2

git fetch ne met à jour l'espace de noms à distance de votre repo dev.
son arbre de travail restera intacte (qui est « vide », à l'exception de tout l'héritage et les fichiers privés déjà là-bas)

Avez-vous essayé git pull?
Il serait git chercher etgit merge le contenu distant dans votre branche maître, remplissant votre arbre de travail dans le même temps.

+0

Ça l'a fait! Je pensais avoir essayé, mais apparemment je ne l'avais pas fait. –

0

On ne sait pas vraiment ce que vous décrivez dans cette question. Avez-vous déjà une configuration de dépôt git? Si 'oui', alors quelle est la raison exacte pour laquelle vous ne pouvez pas en cloner? Si « non », le premier pense que vous devez faire est:

cd project/ 
git init 
git add --all 
git commit -m "Initial commit" 
+0

Oui, il y a mon propre dépôt, et le dépôt (nouveau/vide) sur un autre système de développement que j'ai essayé d'extraire. La raison pour laquelle je ne peux pas faire un clone git à partir de mon référentiel est la façon dont le développeur d'origine a configuré le projet - c'est un environnement de construction Linux multiplateforme. Où nos fichiers de projet sont mélangés avec un système de fichiers existant. Git clone à un répertoire existant nécessite qu'il soit vide; ce n'est pas (et ne peut pas être sans effort significatif) pour notre système. –

0

Utilisez git-bundle qui peut transférer le contenu entier des pensions dans une archive.

Pour les docs

Certains flux de travail exigent que une ou plusieurs branches de développement sur une machine être répliquées sur une autre machine, mais les deux machines ne peuvent pas être directement connecté, et par conséquent les protocoles git interactifs (git, ssh, rsync, http) ne peut pas être utilisé. Cette commande permet à git fetch et git pull de fonctionner en empaquetant des objets et des références dans une archive de la machine d'origine, puis en les important dans un autre dépôt en utilisant git fetch et git pull après avoir déplacé l'archive par un moyen quelconque (sneakernet) . Comme aucune connexion directe entre les référentiels n'existe, l'utilisateur doit spécifier une base pour l'ensemble qui est détenu par le référentiel de destination: l'ensemble suppose que tous les objets de la base sont déjà dans le référentiel de destination.

Questions connexes