2009-02-15 6 views
9

J'ai configuré un référentiel git sur un serveur distant. Maintenant, je suis en train de la caisse de celui-ci avec:Impossible de récupérer via SSH

git fetch ssh://[email protected]/~username/workfolder/ 

mais je reçois une erreur:

fatal: Not a git repository 

Qu'est-ce que je fais mal? Se pourrait-il que le serveur ne supporte pas Git + SSH?

Répondre

17

Essayez

git clone ssh://[email protected]/~username/workfolder/ 

qui va créer le référentiel sur votre machine locale. Tous les commits que vous apportez à cette branche sont à votre dépôt local, et quand vous voulez repousser jusqu'au serveur distant vous pouvez exécuter:

git push ssh://[email protected]/~username/workfolder/ 
+0

Ouais c'est ce que je pensais. Donc après ça, si je fais un commit, est-ce que ça va juste dans mon dépôt local? Qu'en est-il à distance? Je n'ai pas encore compris comment je devrais utiliser Git. – alamodey

+0

Oui, elle serait validée dans votre dépôt local, et quand vous voulez renvoyer à la télécommande vous faites 'git push [remote]'. –

+0

Ou juste 'git push', au moins dans les nouvelles versions de git. – Kzqai

4

git fetch échoue parce qu'il prévoit être exécuté à partir d'un dépôt git existant . Comme le note Andy Hume, vous devez d'abord git clone pour créer une copie locale d'un dépôt existant.

En outre, il définit un git remote appelé origin qui est défini sur l'URL à partir de laquelle vous avez cloné. Il s'agit de la télécommande par défaut utilisée lorsque vous tapez git fetch ou git pull pour récupérer de nouvelles validations dans votre référentiel local et la destination par défaut lorsque vous git push pour transférer votre nouvelle validation locale vers un référentiel distant. Vous n'avez pas besoin d'inclure ssh://[email protected]/~username/workfolder/ dans votre commande push si c'est là que vous avez cloné.

Voici quelques autres références utiles, de http://gitready.com/: